我正在使用MyIPHide。我下载了他们的客户端软件,安装并启用了服务。
我可以正常使用浏览器访问https
网站,但无法使用requests
获取页面。
以下内容是有效的:
import requests
IP=requests.get('http://api.ipify.org').text
proxyDict = { "http" : IP,
"https" : IP
}
url='http://www.cnn.com'
r=requests.get(url,proxies=proxyDict)
这不行:
url='https://www.cnn.com'
r=requests.get(url,proxies=proxyDict)
唯一的区别是http
和https
以下是追踪:
File "C:\Python27\lib\site-packages\requests\adapters.py", line 502, in send
raise ProxyError(e, request=request)
ProxyError: HTTPSConnectionPool(host='www.cnn.com', port=443): Max retries exceeded with url: / (Caused by ProxyError('Cannot connect to proxy.', error(10053, 'An established connection was aborted by the software in your host machine')))
我尝试了其他的
https
网站,它们都不能正常工作。我也给MyIPHide发送了电子邮件,他们说所有的代理都支持
https
,当我只使用浏览器时这是正确的。有一种解决方法是,如果我使用
Selenium
获取页面,然后使用driver.page_source
来获取文本,这种方法有效。这不是代理服务器问题,因为我已经通过sslprivateproxy.com购买了私人代理服务器地址并输入了IP和端口,但我仍然遇到同样的错误。
我正在使用Python 2.7.15和requests 2.20.1。非代理使用requests可以使用,如下所示:
import requests
url='https://www.cnn.com'
r=requests.get(url)
>>> r
<Response [200]>
>>>
我也尝试使用Python 3.6和Requests 2.20.1,但结果相同。
{"https":"183.88.219.163:57457"}
。 - KC.ProxyError: HTTPSConnectionPool(host='www.cnn.com', port=443): Max retries exceeded with url: / (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x0000000003CD9208>: Failed to establish a new connection: [Errno 10061] No connection could be made because the target machine actively refused it',)))
- jason