[当将urllib3.ProxyManager()
与HTTPS代理URL一起使用时,我在InvalidProxyConfigurationWarning
的1.25.9版上看到名为urllib3
的警告。我以前没有收到此警告,这是什么意思?
此警告是urllib3
v1.25.9中的新增内容,它表示配置为使用HTTPS的代理未达到您的期望。
请参阅此问题以获取更多信息:https://github.com/urllib3/urllib3/issues/1850下面复制的是问题的正文。
urllib3 v1.25.x以下的版本不支持HTTPS代理。连接到HTTPS URL时,urllib3通过HTTP而不是HTTPS 即使您的代理URL指定HTTPS来联系代理。在urllib3 v1.26.x中,我们计划正确支持HTTPS代理,并向用户发出早期警告,将其代理URL从HTTPS切换为HTTP,以免稍后升级时出现问题。
import urllib3
# HTTPS proxy, should change!
http = urllib3.ProxyManager("https://1.2.3.4")
http.request("GET", "https://example.com") # Warning would be raised here.
# Switch to this, will maintain current behavior when connecting to HTTPS URLs.
http = urllib3.ProxyManager("http://1.2.3.4")
http.request("GET", "https://example.com") # Warning won't be raised, same behavior as above.
您的代理可以像在HTTPS_PROXY
环境变量中一样通过外部配置,也可以通过requests.Session(proxy_url=...)
来配置,或者由您的OS配置。
(仅供参考,我是urllib3的当前主要维护者)