当pycharm使用代理会报错但是资源还必须使用代理时
想用 Python 在网上下载一些图片素材,结果 requests 报 requests.exceptions.ProxyError,具体的错误信息见下面。当然第一时间是把系统代理关了,结果访问就正常了。
如果只是这样,可能我就觉得是代理有问题,然后关了用就行了,但是偏偏想要下载的资源里是必须要走代理的,所以只能想办法解决。
下面先介绍一下具体的情况:
操作系统:Windows 10
Python: 3.8(有虚拟环境)
requests 通过代理访问外网时报错
注意到是urllib3的问题,于是可以降低版本
pip install urllib3==1.25.11
或者设置环境变量 运行cmd文件或在cmd中运行下面的命令
# 该cmd脚本用于在用户环境变量中添加代理的环境变量以便适应urllib3库的升级以及pip的升级
setx HTTP_PROXY "http://127.0.0.1:7890"
setx HTTP_PROXY "http://127.0.0.1:7890"
先查了一下 urllib3 的更新日志,应该是 1.26.0 的修改导致的:

按照这个更新日志,明明应该是增加了 HTTPS 的支持,怎么反而让它失效了呢?
我一时搞不明白这个问题,但是想起了我最近遭遇到了另一个问题,然后意外地找到了真相:
pip