2015-03-22 7 views
2

Как я могу загрузить CookieJar в новые запросы. Объект session?request.Session() загрузить файлы cookie из CookieJar

cj = cookielib.MozillaCookieJar("mycookies.txt") 
s = requests.Session() 

Это то, что я создаю, теперь сессия будет хранить куки, но я хочу, чтобы мои куки из файла
(Сеанс должен загрузить cookieJar). Как это можно достичь?
Я искал документацию, но я могу найти только примеры кода, и они никогда не загружают cookieJar, просто сохраняя файлы cookie в течение одного сеанса.

ответ

2

Там в дополнительный cookies=, которые могут быть предоставлены для requests.Session (а также запросу) объектов:

печенье = None

A CookieJar containing all currently outstanding cookies set on this session. By default it is a RequestsCookieJar, but may be any other cookielib.CookieJar compatible object.

см: http://docs.python-requests.org/en/latest/api/#requests.Session.cookies

Таким образом, становится:

s = requests.Session(cookies=cj) 

Update: Я путаницы между requests.get, request.post и т.д ..., как правильно указал mata в комментариях - печеньем является атрибутом объекта сеанса, а не параметр инициализации, так что это не будет работать. s.cookies = Cj после построения сессии будет:

Поэтому использование:

s = requests.Session() 
s.cookies = cj 
+0

'cookies' является _attribute_ объекта сеанса, а не параметр инициализации, так что это не будет работать , 's.cookies = cj' после создания сеанса. – mata

+0

@mata вы абсолютно правы - спасибо за это - отредактировано –

+0

Это больше не работает: 'TypeError: __init __() получил неожиданный аргумент ключевого слова 'cookies'' – BugHunterUK

Смежные вопросы