Cómo utilizar las cookies en las solicitudes de Python

Estoy intentando iniciar sesión en una página y acceder a otro enlace en la página.

payload={'username'=,'password'=} with session() as s: r = c.post(, data=payload) print r print r.content 

Esto me está dando un error “405 No permitido”. Revisé los detalles del método de publicación utilizando las herramientas de desarrollo de Chrome y pude ver una api (URL / api / auth). Publiqué en esa URL con la carga útil y estaba funcionando y estaba recibiendo una respuesta similar a la que podía ver en el desarrollador.

Desafortunadamente, al intentar obtener otra URL después de iniciar sesión, todavía obtengo el contenido de la página de inicio de sesión. ¿Por qué el inicio de sesión no se atasca? ¿Debo usar cookies? Soy un novato, así que realmente no sé cómo trabajar con las cookies.

Puede utilizar un objeto de sesión. Almacena las cookies para que pueda realizar solicitudes y administra las cookies por usted.

 s = requests.Session() # all cookies received will be stored in the session object s.post('http://www...',data=payload) s.get('http://www...') 

Docs: http://docs.python-requests.org/en/latest/user/advanced/

También puede guardar los datos de la cookie en un archivo externo, y luego volver a cargarlos para mantener la sesión persistente sin tener que iniciar sesión cada vez que ejecute el script:

¿Cómo guardar las cookies de solicitudes (python) en un archivo?

De la documentación :

  1. obtener cookie de respuesta

     url = 'http://example.com/some/cookie/setting/url' r = requests.get(url) r.cookies 

    {'example_cookie_name': 'example_cookie_value'}

  2. devolver la cookie al servidor en la solicitud posterior

     url = 'http://httpbin.org/cookies' cookies = dict(cookies_are='working') r = requests.get(url, cookies=cookies)`