使用urllib3和socks代理时可以设置一个timout值

问题描述 投票:0回答:1

我设法制作了一个工作脚本,该脚本使用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")
python-3.x urllib3
1个回答
0
投票

设法找到一个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")
© www.soinside.com 2019 - 2024. All rights reserved.