通过代理请求doesn't support HTTPS,以及urllib doesn't either(提供的配方是在13年前创建的,不适用于当前的Python版本,因为我使用的是Python 3.6)。 / p>
尝试连接时,都会将b'CONNECT example.com:443 HTTP/1.0\r\n\r\n'
发送到代理,并且该过程将永久停留。我正在使用this proxy。
另一方面,cURL能够发送适当的参数。使用curl --proxy 127.0.0.1:8899 -v https://example.com
,它会发送b'CONNECT example.com:443 HTTP/1.1\r\nHost: example.com:443\r\nUser-Agent: curl/7.30.0\r\nProxy-Connection: Keep-Alive\r\n\r\n'
,并且该过程将继续,直到cURL收到正确的数据。这验证了代理正在按预期工作。
有一种简单的方法可以让HTTPS在Python上使用代理吗?我知道我可以使用HTTP,但是有些资源只是我需要通过代理访问的HTTPS。
我不太关心客户端安全性。我已经尝试在urllib和请求中删除SSL验证,但它仍然无法正常工作。
更新:这不是Python Requests doesnt work for https proxy的重复,因为只关注requests
,而且我在上面发布的链接requests
创建者特别关注说它不支持通过代理的HTTPS。我要问的是替代requests
或urllib
,而不是如何让requests
工作(因为它没有)。