2017-07-31 137 views
0

我已经看过并尝试了几种关于使用python代理的https请求的堆栈解决方案,并且我已经看到了关于GitHub的讨论。https使用python代理获取请求不起作用

我的印象是,在Python 3请求库使用代理,所以我不明白为什么我的不行现在有HTTPS请求支持:

import requests 

proxydict = { 
'http':'http://xx.xx.xx.xxx:5555/', 
'https':'https://xx.xx.xxx.xx:5555/' 
} 

requests.get('https://www.google.co.uk',proxies = proxydict). 

当我运行这段代码我得到:

ConnectionError: HTTPSConnectionPool(host='www.python.org', port=443): 
Max retries exceeded with url:/(Caused by SSLError(SSLError("bad handshake: 
Error([('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')],)",),)) 

我曾经使用邮递员代理来做到这一点。 带有代理的我的http请求正常工作。有人可以帮忙吗?

编辑: 我想用公司代理来做到这一点,所以我不能简单地使用不同的代理。另外,https地址在浏览器中工作正常,只是当我使用代理执行python请求时(如文档中所述发生此错误)。

谢谢。

回答

0

你好,因为你的代理未使用SSL
工作或你的代理服务器使用的网站通过浏览器尝试其他 从这里
https://www.sslproxies.org/
向下滚动,你看到的是https代理

+0

当我访问HTTPS同时使用代理它工作正常。只有当我做了一个python请求。我试图解决这个问题,以便我可以使用公司代理的解决方案,其中错误是相同的,并且我没有选择要使用的代理。对于企业代理,我也可以通过浏览器访问https网站,但只有python请求无法使用。 –

+0

尝试使用HTTPS代理,做这个 – 2017-07-31 15:18:24

+0

导入请求 proxydict = { 的 'https': 'HTTPS://xx.xx.xxx.xx:5555 /' } requests.get(的“https:/ /www.google.co.uk',proxies = proxydict)。 – 2017-07-31 15:18:36