我设法制作了一个工作脚本,该脚本使用urllib3检查socks5代理是否已启动并在python 3.x中运行。现在,我想为GET请求设置一个timout值,例如:检查2秒钟,如果我没有收到响应,我说它不起作用。我可以这样做吗?
import pycurl
import urllib3
from urllib3.contrib.socks import SOCKSProxyManager
proxy = SOCKSProxyManager("socks5://96.113.176.101:1081/")
try:
rslt = proxy.request('GET', 'http://google.com/humans.txt')
if ('Google is built by a large team of engineers' in str(rslt.data)):
print("Good proxy")
else:
print("Bad proxy")
except:
print("Bad proxy")
设法找到一个useful documentation,似乎在调用get request函数时必须完成覆盖timout。有一个timout参数,它是一个浮点值(以秒为单位),例如:timout = 0.1表示100ms:
import pycurl
import urllib3
from urllib3.contrib.socks import SOCKSProxyManager
proxy = SOCKSProxyManager("socks5://96.113.176.101:1080/")
try:
rslt = proxy.request('GET', 'http://google.com/humans.txt', timeout=2.0)
if ('Google is built by a large team of engineers' in str(rslt.data)):
print("Good proxy")
else:
print("Bad proxy")
except Exception as e :
print(e)
print("Bad proxy")