python请求获取cookies

问题描述 投票:0回答:3
x = requests.post(url, data=data)
print x.cookies

我使用requests库从网站获取一些cookie,但我只能获取cookie 从响应中,如何从请求中获取cookie?谢谢!

python python-requests
3个回答
191
投票

或者,您可以使用

requests.Session
并在请求之前和之后观察
cookies

>>> import requests
>>> session = requests.Session()
>>> print(session.cookies.get_dict())
{}
>>> response = session.get('http://google.com')
>>> print(session.cookies.get_dict())
{'PREF': 'ID=5514c728c9215a9a:FF=0:TM=1406958091:LM=1406958091:S=KfAG0U9jYhrB0XNf', 'NID': '67=TVMYiq2wLMNvJi5SiaONeIQVNqxSc2RAwVrCnuYgTQYAHIZAGESHHPL0xsyM9EMpluLDQgaj3db_V37NjvshV-eoQdA8u43M8UwHMqZdL-S2gjho8j0-Fe1XuH5wYr9v'}

20
投票

如果您需要每个 cookie 的

path
domain
(其中
get_dict()
未公开),您可以手动解析 cookie,例如:

[
    {'name': c.name, 'value': c.value, 'domain': c.domain, 'path': c.path}
    for c in session.cookies
]

1
投票
url = "http://localhost:8070/web/session/authenticate"
data = {}
header = {"Content-Type": "application/json"}
x = requests.post(url, json=data, headers=header)
print(x.cookies.get_dict())
© www.soinside.com 2019 - 2024. All rights reserved.