web-dev-qa-db-de.com

python-Anfragen erhalten Cookies

x = requests.post(url, data=data)
print x.cookies

Ich habe die Anforderungsbibliothek verwendet, um einige Cookies von einer Website zu erhalten, aber ich kann nur die Cookies Aus der Antwort erhalten. Wie kann ich die Cookies von der Anfrage erhalten? Vielen Dank!

28
Danfi

Alternativ können Sie requests.Session verwenden und cookies vor und nach einer Anfrage beobachten:

>>> 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'}
64
alecxe

Wenn Sie die path und diedomain für jedes Cookie benötigen, das get_dict() nicht verfügbar ist, können Sie die Cookies manuell analysieren, z.

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