requests.exceptions.ConnectionError:
SOCKSHTTPConnectionPool(host='myhost', port=80):
Max retries exceeded with url: /my/path
(Caused by NewConnectionError('<requests.packages.urllib3.contrib.socks.SOCKSConnection object at 0x106812bd0>:
Failed to establish a new connection:
[Errno 8] nodename nor servname provided, or not known',))
自2016-04-29发布的
requests
版本2.10.0起,requests
支持SOCKS。它需要PySocks,可以用
pip install pysocks
安装。示例用法:
现代方式:
那么
如果有人尝试了所有这些旧的答案,但仍然遇到以下问题:
这可能是因为,默认情况下,
requests
配置为解析连接的本地端的DNS查询。尝试将代理URL从
socks5://proxyhost:1234
更改为socks5h://proxyhost:1234
。注意额外的h
(它代表主机名解析)。The PySocks package module default is to do remote resolution,我也不知道为什么请求会有如此明显的分歧,但现在我们来了。
相关问题 更多 >
编程相关推荐