requests.exceptions.ProxyError: HTTPSConnectionPool异常, request请求代理错误问题解决方法
但是Windows系统代理并没有区分http和https, 默认都是使用http的, 所以如果使用了https代理反而会出现异常!有时候需要访问外网获取数据, 例如获取谷歌商店的应用信息, 但是挂了VPN后调用request.get请求会出现代理异常!通过urllib3的github版本页面得知, urllib3在1.26版本往后, 就支持了https协议。但是使用这个方法也有问题, 如果需要调用
·
问题描述:
有时候需要访问外网获取数据, 例如获取谷歌商店的应用信息, 但是挂了VPN后调用request.get请求会出现代理异常!
配置代理参数也是一样:
解決方法:
方法1 降级urllib3:
通过urllib3的github版本页面得知, urllib3在1.26版本往后, 就支持了https协议
但是Windows系统代理并没有区分http和https, 默认都是使用http的, 所以如果使用了https代理反而会出现异常! 可以通过降低urllib3的版本到1.26以下(1.25.11)解决.
但是selenium需要依赖对应版本的urllib3, 贸然降级很可能导致selenium异常!
所以更推荐使用方法2
方法2 修改代理参数:
由于Windows并不区分http和https协议, 所以索性直接将代理都配置为http
但是使用这个方法也有问题, 如果需要调用的库内有使用request请求, 但又不支持传proxies参数的话, 就需要改库的源代码!
参考文档:
更多推荐
所有评论(0)