Requests: حفظ وتحميل الجلسة

تم إنشاؤها على ٢ أبريل ٢٠١٥  ·  3تعليقات  ·  مصدر: psf/requests

أود أن أكون قادرًا على حفظ جلسة وتحميلها على القرص. أعتقد أن هذا يعني فقط حفظ ملفات تعريف الارتباط وتحميلها ، ولكن ربما هناك فروق دقيقة أخرى يجب تضمينها.

أنا مهتم باستخدام 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)

حاولت استخدام هذا النهج ، ولكن لم أتمكن من استئناف جلسة TLS للعمل بعد إعادة تحميل الجلسة المخللة. هل يعرف أحد كيف يحقق هذا السلوك؟

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات