使用代理处理HTTPS连接请求

时间:2016-03-11 01:04:13

标签: python https proxy

我正在尝试在只接受HTTPS连接的网站上运行代码,并且无法将其与代理结合使用。

我运行这样的代码来实例化代理:

os.environ['https_proxy'] = 'http://' + proxy

当我尝试使用之前实现的代理完成请求时(我正在浏览网站的API),我总是收到此错误:

HTTPSConnectionPool(host=[ . . . ], port=443): Max retries exceeded with url: [. . .] (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7fab996ef790>: Failed to establish a new connection: [Errno -2] Name or service not known',)))

我遇到的问题当然是如何减轻错误,但更主要的是,当强制使用HTTPS连接时,解决这个问题的方法是什么,这样你就不会完全停止在网站上使用或操纵(有代理人)?

1 个答案:

答案 0 :(得分:1)

无法将代理服务器的主机名解析为IP地址。

代理的主机名存在问题,或DNS服务器出现问题。如果您确定主机是正确的,请尝试使用其IP地址,例如

proxy = '192.168.1.1:1234'
os.environ['https_proxy'] = 'http://' + proxy

如果可行则代理正常,但由于某种原因名称解析失败。尝试使用curl并查看是否有效,例如

https_proxy='https://localhost:1234' curl -v https://httpbin.org