Requests: セッションの保存と読み込み

作成日 2015年04月02日  ·  3コメント  ·  ソース: psf/requests

セッションを保存してディスクにロードできるようにしたいと思います。 これは単にCookieを保存してロードすることを意味すると思いますが、おそらく他のニュアンスを含める必要があります。

リクエストをラップするRobobrowser(https://github.com/jmcarp/robobrowser)の使用に興味があります。 アプリケーションの実行間でブラウザを永続化できるようにしたいのですが、これはセッションを保存してディスクにロードできることを意味します。

これを行う方法に関するSOの投稿があります。 言うまでもなく、最も人気のある答えは間違っていると思います。
http://stackoverflow.com/questions/13030095/how-to-save-requests-python-cookies-to-a-file

ありがとう、
ジム

最も参考になるコメント

最も簡単な方法は、 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)

全てのコメント3件

最も簡単な方法は、 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)

補遺として:Python3は書き込みと読み取りの間に「b」フラグを期待しているように見えます:

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

このアプローチを使用しようとしましたが、pickle化されたセッションをリロードした後、TLSセッションの再開を機能させることができませんでした。 誰かがこの振る舞いを達成する方法を知っていますか?

このページは役に立ちましたか?
0 / 5 - 0 評価