我正在尝试在只接受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连接时,解决这个问题的方法是什么,这样你就不会完全停止在网站上使用或操纵(有代理人)?
答案 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