Estoy tratando de usar la biblioteca de solicitudes para enviar cookies con una solicitud de publicación, pero no estoy seguro de cómo configurar las cookies en función de su documentación. El script es para uso en Wikipedia, y las cookies que deben enviarse tienen este formato:
enwiki_session=17ab96bd8ffbe8ca58a78657a918558e; path=/; domain=.wikipedia.com; HttpOnly
Sin embargo, la requests
guía de inicio rápido de la documentación ofrece esto como único ejemplo:
cookies = dict(cookies_are='working')
¿Cómo puedo codificar una cookie como la anterior usando esta biblioteca? ¿Necesito hacerlo con la biblioteca de cookies estándar de Python y luego enviarlo junto con la solicitud POST?
python
cookies
http-request
python-requests
Ricardo Altamirano
fuente
fuente
a=b;
pares. En una suposición, utilíceloa
como clave yb
como valor en un diccionario.Respuestas:
La última versión de Requests creará CookieJars para usted a partir de diccionarios simples.
Disfruta :)
fuente
Solo para ampliar la respuesta anterior, si está vinculando dos solicitudes juntas y desea enviar las cookies devueltas de la primera a la segunda (por ejemplo, manteniendo una sesión activa entre las solicitudes), puede hacer:
fuente
requests.session
para esto exactamente, almacenar cookies en múltiples sesiones, haciendo llamadas desde elsession
objeto devuelto .request.session
Si desea pasar la cookie al navegador, debe agregarla a los encabezados para que se envíe de vuelta. Si está usando wsgi:
Puedo autenticarme con éxito con Bugzilla y TWiki alojados en el mismo dominio que se está ejecutando mi script wsgi de Python al pasar el usuario / contraseña de autenticación a mi script de Python y pasar las cookies al navegador. Esto me permite abrir las páginas de Bugzilla y TWiki en el mismo navegador y autenticarme. Estoy tratando de hacer lo mismo con SuiteCRM, pero tengo problemas para que SuiteCRM acepte las cookies de sesión obtenidas del script de Python a pesar de que se ha autenticado correctamente.
fuente