Requests: Salvar e carregar a sessão

Criado em 2 abr. 2015  ·  3Comentários  ·  Fonte: psf/requests

Eu gostaria de poder salvar e carregar uma sessão no disco. Acho que isso significa apenas salvar e carregar os cookies, mas talvez haja outras nuances que precisariam ser incluídas.

Estou interessado em usar o Robobrowser (https://github.com/jmcarp/robobrowser) que encapsula as solicitações. Eu gostaria de poder manter o navegador entre a execução de meu aplicativo, o que significa ser capaz de salvar e carregar a sessão no disco.

Há uma postagem do SO sobre como fazer isso. Acho que é revelador que a resposta mais popular está errada.
http://stackoverflow.com/questions/13030095/how-to-save-requests-python-cookies-to-a-file

Obrigado,
Jim

Comentários muito úteis

A coisa mais fácil a fazer é conservar todo o 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 comentários

A coisa mais fácil a fazer é conservar todo o 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 um adendo: parece que o Python3 espera o sinalizador 'b' durante a gravação e leitura:

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

Tentei usar essa abordagem, mas não consegui fazer com que a retomada da sessão TLS funcionasse depois de recarregar a sessão em conserva. Alguém sabe como conseguir esse comportamento?

Esta página foi útil?
0 / 5 - 0 avaliações