python请求是

2024-06-16 12:32:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个下载管理器。使用python中的requests模块检查有效的链接(希望是断开的链接)。 我检查以下链接的代码:

    url='http://pyscripter.googlecode.com/files/PyScripter-v2.5.3-Setup.exe'
    r = requests.get(url,allow_redirects=False) #this line takes 40 seconds
    if r.status_code==200:
        print "link valid"
    else:
        print "link invalid"

现在,问题是这需要大约40秒来执行这个检查,这是巨大的。 我的问题是如何加快速度,也许使用urllib2或其他什么工具??

注意:如果我将url替换为实际的URL,即http://pyscripter.googlecode.com/files/PyScripter-v2.5.3-Setup.exe,则需要一秒钟,因此这似乎是请求的问题。


Tags: 模块comhttpurl管理器链接setuplink
2条回答

并非所有主机都支持head请求。您可以改为:

r = requests.get(url, stream=True)

这实际上只是下载头,而不是响应内容。此外,如果你的想法是事后得到文件,你不必再提出另一个要求。

有关更多信息,请参见here

不要使用实际检索文件的get,请使用:

r = requests.head(url,allow_redirects=False)

从机器上的6.9秒到0.4秒

相关问题 更多 >