There is no immediate way to do so, but it's not hard to do.
You can get a CookieJar
object from the session as session.cookies
, you can use pickle
to store it to a file.
A full example:
import requests, pickle
session = requests.session()
# Make some calls
with open('somefile', 'wb') as f:
pickle.dump(session.cookies, f)
Loading is then:
session = requests.session() # or an existing session
with open('somefile', 'rb') as f:
session.cookies.update(pickle.load(f))
The requests library has uses the requests.cookies.RequestsCookieJar()
subclass, which explicitly supports pickling and a dict-like API, and you can use the RequestsCookieJar.update()
method to update an existing session cookie jar with those loaded from a pickle file.