为什么Python请求HTTP库总是返回发送的cookies?

2024-09-30 16:39:28 发布

您现在位置:Python中文网/ 问答频道 /正文

使用pythonshell

>>> import requests
>>> cookies = {'sentcookie':'666'}
>>> res = requests.get('http://en.wikipedia.org/wiki/Main_Page', cookies=cookies)
>>> res   
<Response [200]>
>>> res.cookies
<<class 'requests.cookies.RequestsCookieJar'>[Cookie(version=0, name='sentcookie', 
value='666', port=None, port_specified=False, domain='', domain_specified=False, 
domain_initial_dot=False, path='/', path_specified=True, secure=False, expires=None,  
discard=True, comment=None, comment_url=None, rest={'HttpOnly': None}, rfc2109=False)]>
>>>

为什么从服务器返回的Cookie列表中包含“sentcookie”?我已经嗅到了通信,服务器没有返回cookie。 为什么请求将其包含在列表中,以及如何禁用此行为?在


Tags: pathnonefalsetrue列表portcookiedomain
2条回答

我也有同样的问题,我想我不能完全理解你的答案。 假设您想根据文档将cookies添加到您的请求中 这是正确的方法:

cookies = {'sentcookie':'666'}
response = requests.get('http://en.wikipedia.org/wiki/Main_Page', cookies=cookies)

现在,如果服务器返回cookies,您可以通过以下方式访问它们:

^{pr2}$

但我不希望得到我发送的相同的cookies,即使服务器没有返回它们,因为某些原因,它正在发生。在

我怎样才能防止这种行为?在

这不是关于禁用行为,而是告诉requests去做这个行为。在

在此:

cookies = {'sentcookie':'666'}
res = requests.get('http://en.wikipedia.org/wiki/Main_Page', cookies=cookies)

你是在告诉它,你想让饼干随时都有,不管是否需要。。。在

您通常将cookies=用于浏览器缓存或其他(出于某种原因)的现有cookie,只需留下{}按常规处理来自服务器的cookie

相关问题 更多 >