2017-07-09 48 views
3

A/C Python请求documentation,语句可以与请求一起使用以获得更好的速度。在`with`语句中使用requests.post()时,AttributeError

与requests.get( 'http://httpbin.org/get',流= TRUE)为r: #做的事情在这里的响应。

那么为什么这会返回'属性错误'?

Traceback (most recent call last): 
File "<pyshell#101>", line 1, in <module> 
with requests.post(url,headers=headers,data=data,stream=True) as post_res: 
AttributeError: __exit__ 

代码:

with requests.post(url,headers=headers,data=data,stream=True) as post_res: 
    print(b'Name' in post_res.content) 

P.S.没有'with'语句,这工作正常。

+0

什么版本的请求? –

+0

@JonathonReinhart请求-2.9.1 – kappa101

回答

1

AFAICS上下文管理器仅记录了GET请求,而不是POST。这是有道理的,因为无论如何,POST不是无厘头的。

+0

上下文管理器在Response对象上运行,而不管请求方法如何。 –