Requests: Guardar y cargar sesión

Creado en 2 abr. 2015  ·  3Comentarios  ·  Fuente: psf/requests

Me gustaría poder guardar y cargar una sesión en el disco. Creo que esto significa simplemente guardar y cargar las cookies, pero tal vez haya otros matices que deberían incluirse.

Estoy interesado en usar Robobrowser (https://github.com/jmcarp/robobrowser) que envuelve las solicitudes. Me gustaría poder mantener el navegador entre la ejecución de mi aplicación, lo que significa poder guardar y cargar la sesión en el disco.

Hay una publicación SO sobre cómo hacer esto. Creo que, de manera reveladora, la respuesta más popular es incorrecta.
http://stackoverflow.com/questions/13030095/how-to-save-requests-python-cookies-to-a-file

Gracias,
Jim

Comentario más útil

Lo más fácil de hacer es encurtir todo el objeto session :

import requests, requests.utils, pickle
session = requests.session()
# Make some calls
with open('somefile', 'w') as f:
    pickle.dump(session, f)
with open('somefile') as f:
    session = pickle.load(f)

Todos 3 comentarios

Lo más fácil de hacer es encurtir todo el objeto session :

import requests, requests.utils, pickle
session = requests.session()
# Make some calls
with open('somefile', 'w') as f:
    pickle.dump(session, f)
with open('somefile') as f:
    session = pickle.load(f)

Como apéndice: parece que Python3 espera la marca 'b' durante la escritura y la lectura:

with open('somefile', 'wb') as f:
    pickle.dump(session, f)
with open('somefile', 'rb') as f:
    session = pickle.load(f)

Intenté usar este enfoque, sin embargo, no pude hacer que la reanudación de la sesión TLS funcionara después de volver a cargar la sesión en escabeche. ¿Alguien sabe cómo lograr este comportamiento?

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

NoahCardoza picture NoahCardoza  ·  4Comentarios

eromoe picture eromoe  ·  3Comentarios

cnicodeme picture cnicodeme  ·  3Comentarios

brainwane picture brainwane  ·  3Comentarios

jakul picture jakul  ·  3Comentarios