问题描述:

有时候需要访问外网获取数据, 例如获取谷歌商店的应用信息, 但是挂了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参数的话, 就需要改库的源代码!

参考文档:

 Python 遭遇 ProxyError 问题记录 - 知乎

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐