我有一个下面的代码查询一个URL:
import requests
r = requests.get(url="<url>", timeout=(3, 6))
if "File Not Found in Database" in r.text:
print("Incorrect URL")
else:
print("Correct URL")
它正在对URL进行GET调用。如果URL正确,则下载文件,否则它会显示错误File Not Found in Database
。当URL正确时,我不需要下载文件,但我只想检查URL是否正确。所以我想添加超时,因为如果URL不正确,它将抛出错误File Not Found in Database
,但如果其正确,我只是想超时并打印正确的URL。但看起来这个超时不起作用,或者可能我做错了什么。
谢谢
2条答案
按热度按时间bzzcjhmw1#
您可以使用以下异常处理超时:
0aydgbwb2#
您可以使用
HEAD
HTTP方法来检查文件是否存在,而无需下载它。HEAD
方法与GET
类似,但它只返回头信息,而不是实际内容。这并不完全适用于“向请求添加超时”,但它可以更好地实现您的目标。
IMO这才是最重要的。