web-dev-qa-db-fra.com

les requêtes Python obtiennent des cookies

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

J'ai utilisé la bibliothèque de demandes pour obtenir des cookies d'un site Web, mais je ne peux obtenir que les cookies .__ de la réponse. Comment obtenir les cookies de la demande? Merci!

28
Danfi

Vous pouvez également utiliser requests.Session et observer cookies avant et après une requête:

>>> 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

Si vous avez besoin de path et de domain pour chaque cookie, ce que get_dict() n'est pas exposé, vous pouvez analyser les cookies manuellement, par exemple:

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