ProxyError仅适用于发布请求,而不适用于get

时间:2014-08-05 18:46:50

标签: python python-2.7 https python-requests

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 Bad Request。

1 个答案:

答案 0 :(得分:1)

可能的原因是代理服务器错误地重置连接或会话连接池无法理解它已关闭。 如果您不需要连接池,可以使用

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)

<强>更新即可。它与此issue有关,显然将在即将发布的版本中修复&gt; 2.3.0。目前主要的请求分支也可以正常工作。