أود أن أكون قادرًا على حفظ جلسة وتحميلها على القرص. أعتقد أن هذا يعني فقط حفظ ملفات تعريف الارتباط وتحميلها ، ولكن ربما هناك فروق دقيقة أخرى يجب تضمينها.
أنا مهتم باستخدام 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)
كملحق: يبدو أن Python3 تتوقع علامة 'b' أثناء الكتابة والقراءة:
with open('somefile', 'wb') as f:
pickle.dump(session, f)
with open('somefile', 'rb') as f:
session = pickle.load(f)
حاولت استخدام هذا النهج ، ولكن لم أتمكن من استئناف جلسة TLS للعمل بعد إعادة تحميل الجلسة المخللة. هل يعرف أحد كيف يحقق هذا السلوك؟
التعليق الأكثر فائدة
أسهل ما يمكنك فعله هو مجرد مخلل الكائن
session
بالكامل: