J'essaie d'utiliser la bibliothèque Requests pour envoyer des cookies avec une demande de publication, mais je ne sais pas comment configurer réellement les cookies en fonction de sa documentation. Le script est destiné à être utilisé sur Wikipédia, et le (s) cookie (s) à envoyer sont de cette forme:
enwiki_session=17ab96bd8ffbe8ca58a78657a918558e; path=/; domain=.wikipedia.com; HttpOnly
Cependant, le requests
guide de démarrage rapide de la documentation donne ceci comme seul exemple:
cookies = dict(cookies_are='working')
Comment puis-je encoder un cookie comme celui ci-dessus en utilisant cette bibliothèque? Dois-je le créer avec la bibliothèque de cookies standard de python, puis l'envoyer avec la requête POST?
python
cookies
http-request
python-requests
Ricardo Altamirano
la source
la source
a=b;
paires. À une estimation, utiliseza
comme clé etb
comme valeur dans un dictionnaire.Réponses:
La dernière version de Requests construira pour vous des CookieJars à partir de dictionnaires simples.
Prendre plaisir :)
la source
Pour prolonger la réponse précédente, si vous liez deux demandes ensemble et que vous souhaitez envoyer les cookies renvoyés de la première à la seconde (par exemple, maintenir une session active à travers les demandes), vous pouvez faire:
la source
requests.session
pour cette chose exacte, stocker des cookies sur plusieurs sessions, passer des appels à partir de l'session
objet retourné à la place.request.session
Si vous souhaitez transmettre le cookie au navigateur, vous devez ajouter les en-têtes pour être renvoyé. Si vous utilisez wsgi:
Je parviens à m'authentifier avec Bugzilla et TWiki hébergés sur le même domaine que mon script python wsgi est en cours d'exécution en passant l'utilisateur / mot de passe auth à mon script python et en transmettant les cookies au navigateur. Cela me permet d'ouvrir les pages Bugzilla et TWiki dans le même navigateur et d'être authentifié. J'essaie de faire la même chose avec SuiteCRM mais j'ai des problèmes avec SuiteCRM pour accepter les cookies de session obtenus à partir du script python même s'il s'est authentifié avec succès.
la source