使用requests模块获取头部中的Set-Cookie

4
当我使用PHP获取cookie时,它返回:
session_id=abih14s7l4lgo3splta7f6bd14; cccaa78fa9e13785130119a4924db0f4=96637ae... (more)

但是当我使用Python时,它返回:
session_id=abih14s7l4lgo3splta7f6bd14

...剩余的cookie丢失了。

我的Python代码:

res_post = requests.post(LOGIN_URL, data = {mydata})
cookies = dict(res_post.cookies.items())
1个回答

1

看起来你正在使用 requests 库。 response.cookies 已经是一个字典,所以不需要再次转换。

你应该像这样访问响应中的 cookies:

response = requests.post(LOGIN_URL, data={mydata})
print response.cookies['session_id']

更多细节请参见此处:http://docs.python-requests.org/en/latest/user/quickstart/#cookies


谢谢!但是我想像上面的 PHP 代码一样获取所有的 cookie,而不仅仅是 session_id。对于我的英语表示抱歉。 - overnight
所有的 cookie 都在 request.cookies 中。 - dursk
1
我该如何从request.cookies中获取它?我在http://docs.python-requests.org/en/latest/api/中搜索,但没有找到相关信息。 - overnight
拿什么?response.cookies就是它。这是一个字典,其中cookie的名称用作键,cookie的值用作值。 - dursk
2
这是关于 cookies 的内容。我尝试了 print response.cookies,它返回了:<RequestsCookieJar[<Cookie session_id=mmnhc7jbapim2hpggtrupdbqo5 for www.abc.def>]>。但这还不是全部。 - overnight
然后客户端将它们发送过来。 - dursk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接