Performance python请求获取无效的url照明速度
我有一个10^6 url的列表,我想对照状态代码进行检查。 问题是requests.get对于指定超时的我来说太慢了,有时我甚至在1秒超时的情况下也不能确定url是否有效(比如说服务器响应太慢) 所以,我现在做:Performance python请求获取无效的url照明速度,performance,url,python-requests,Performance,Url,Python Requests,我有一个10^6 url的列表,我想对照状态代码进行检查。 问题是requests.get对于指定超时的我来说太慢了,有时我甚至在1秒超时的情况下也不能确定url是否有效(比如说服务器响应太慢) 所以,我现在做: import request url = "https://dupa.ucho.elo.8" r = requests.get(url, headers={'Connection': 'close'}, timeout=1) 如何在不设置超时的情况下快速检查url是否有效,并立即返
import request
url = "https://dupa.ucho.elo.8"
r = requests.get(url, headers={'Connection': 'close'}, timeout=1)
如何在不设置超时的情况下快速检查url是否有效,并立即返回无效url的响应
- 注1:我想避免使用grequests模块
- 注2:我不想使用多线程
- 我读过这个
但它涉及超时设置https://stackoverflow.com/questions/17782142/why-doesnt-requests-get-return-what-is-the-default-timeout-that-requests-geta
import requests
import sys
url_list = ['http://google12121.com/','https://google.com/']
for url in url_list:
try:
response = requests.get(url)
if "200" in str(response.status_code):
print("Yes")
else:
print("No")
except:
print("Error: "+str(sys.exc_info()[0]))
continue
您可能需要编写更具体的错误捕获逻辑,因为通常捕获所有错误都是错误的。get方法中仍然存在默认超时