小编典典

Python请求不适用于https代理

python

我尝试像这样在python中使用https代理:

proxiesDict ={
  'http':  'http://' + proxy_line,
  'https': 'https://' + proxy_line
}


response = requests.get('https://api.ipify.org/?format=json', proxies=proxiesDict, allow_redirects=False)

proxy_line是从文件读取的代理,格式为ip:port。我在浏览器中检查了这个https代理,它可以工作。但是在python中,此代码挂起了几秒钟,然后出现异常:

HTTPSConnectionPool(host='api.ipify.org', port=443): Max retries exceeded with url: /?format=json (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x0425E450>: Failed to establish a new connection: [WinError 10060]

我尝试使用socks5代理,它适用于安装了PySocks的socks5代理。但是对于https我有这个例外,有人可以帮我吗


阅读 397

收藏
2021-01-20

共1个答案

小编典典

为指定代理列表时requests,密钥是协议,值是domain / ip。您不需要指定http://https://再次指定实际值。

因此,您proxiesDict将是:

proxiesDict = {
  'http':  proxy_line,
  'https': proxy_line
}
2021-01-20