仅在POST请求中出现ProxyError,不在GET请求中
import requests
s = requests.session()
s.proxies = {'https': 'https://xxx.xxx.xxx.xxx:8888'}
s.get("https://www.tumblr.com/")
s.post("https://www.tumblr.com/")
用GET请求是没问题的,但用POST请求就会出现一个ProxyError错误。有人知道为什么吗?
ProxyError: 无法连接到代理。套接字错误:隧道连接失败:400 错误请求。
1 个回答
2
可能的原因是代理服务器错误地重置了连接,或者会话连接池无法理解连接已经关闭。如果你不需要连接池的话,可以使用
import requests
proxies = {'https': 'https://xxx.xxx.xxx.xxx:8888'}
requests.get("https://www.tumblr.com/", proxies=proxies)
requests.post("https://www.tumblr.com/", proxies=proxies)
更新。这和这个 问题 有关,显然将在即将发布的版本 > 2.3.0 中修复。目前,requests 的主分支也运行得很好。