import http.cookiejar file_сook = http.cookiejar.FileCookieJar(filename, delayload=None, policy=None)
filename
- имя файла для хранения cookie,delayload=None
- отвечает за загрузку cookie,policy=None
- объект CookiePolicy
,Класс FileCookieJar()
модуля http.cookiejar
представляет собой CookieJar, который может загружать файлы cookie и, возможно, сохранять файлы cookie в файл на диске. Файлы cookie НЕ загружаются из указанного файла до тех пор, пока не будет вызван метод load()
или revert()
.
Подклассы этого класса описаны в разделе FileCookieJar
, подклассы и взаимодействие с веб-браузерами.
Аргумент policy
- это объект, реализующий интерфейс CookiePolicy
. Для других аргументов см. Документацию по соответствующим атрибутам.
Аргумент filename
- имя файла, в котором по умолчанию хранятся файлы cookie.
Аргумент если delayload=True
, то файлы cookie будут лениво загружаться с диска. Этот аргумент не следует назначать, т. к. он влияет только на производительность, а не на поведение.
Изменено в Python 3.8: Параметр filename
поддерживает объект, подобный пути (pathlib.Path
).
FileCookieJar
.Объект FileCookieJar
наследует все методы объекта CookieJar
и реализует дополнительные методы и атрибуты:
FileCookieJar.save()
сохраняет куки в файл,FileCookieJar.load()
загружает файлы cookie из файла,FileCookieJar.revert()
повторно загружает файлы cookie,FileCookieJar.filename
имя файла по умолчанию,FileCookieJar.delayload
отвечает за загрузку cookie,FileCookieJar
, подклассы и взаимодействие с веб-браузерами.FileCookieJar.save(filename=None, ignore_discard=False, ignore_expires=False)
:Метод FileCookieJar.save()
сохраняет куки в файл.
Этот базовый класс вызывает NotImplementedError. Подклассы могут оставить этот метод нереализованным.
Аргумент filename
- имя файла, в котором сохраняются файлы cookie. Если имя файла не указано, то используется self.filename
(значение по умолчанию - значение, переданное конструктору, если есть). Если self.filename
равно None
, то возникает ошибка ValueError
.
ignore_discard=True
, то будут сохраняться даже установленные куки-файлы для удаления. ignore_expires=True
, то будут сохраняться даже файлы cookie, срок действия которых истекФайл перезаписывается, если он уже существует, таким образом удаляя все файлы cookie, которые он содержит. Сохраненные файлы cookie можно восстановить позже с помощью методов FileCookieJar.load()
или FileCookieJar.revert()
.
FileCookieJar.load(filename=None, ignore_discard=False, ignore_expires=False)
:Метод FileCookieJar.load()
загружает файлы cookie из файла.
Старые файлы cookie сохраняются, если они не перезаписываются новыми загруженными.
Аргументы такие же, как для метода FileCookieJar.save()
.
Файл filename
должен быть в формате, понятном классу, в противном случае возникнет ошибка http.cookiejar.LoadError
. Кроме того, может возникнуть ошибка OSError
, например, если файл не существует.
FileCookieJar.revert(filename=None, ignore_discard=False, ignore_expires=False)
:Метод FileCookieJar.revert()
очищает все файлы cookie и повторно загружает файлы cookie из сохраненного файла.
Этот метод может вызывать те же исключения, что и FileCookieJar.load()
. В случае сбоя, состояние объекта не изменится.
FileCookieJar.filename
:Атрибут FileCookieJar.filename
представляет собой имя файла по умолчанию, в котором хранятся файлы cookie. Этот атрибут может быть установлен.
FileCookieJar.delayload
:Атрибут FileCookieJar.delayload
- если равен True, то будет лениво загружать файлы cookie с диска. Этот атрибут не следует назначать. Это всего лишь подсказка, т.к. влияет только на производительность, а не на поведение (если только файлы cookie на диске не меняются).
FileCookieJar
и взаимодействие с веб-браузерами.Следующие подклассы CookieJar
предназначены для чтения и записи.
http.cookiejar.MozillaCookieJar(filename, delayload=None, policy=None)
:Класс http.cookiejar.MozillaCookieJar()
представляет собой класс FileCookieJar
, который может загружать и сохранять файлы cookie на диск в формате файла Mozilla cookies.txt
(который также используется браузерами Lynx и Netscape).
Примечание. При этом теряется информация о файлах cookie RFC 2965, а также о новых или нестандартных атрибутах cookie, таких как port
.
Предупреждение. Сделайте резервную копию файлов cookie перед сохранением, если у есть файлы cookie, потеря/повреждение которых может быть нежелательной (есть некоторые тонкости, которые могут привести к незначительным изменениям в файле во время цикла загрузки/сохранения).
Также обратите внимание, что файлы cookie, сохраненные во время работы, будут уничтожены Mozilla.
Изменено в Python 3.8: Параметр filename
поддерживает объект, подобный пути (pathlib.Path
).
http.cookiejar.LWPCookieJar(filename, delayload=None, policy=None)
:Класс http.cookiejar.LWPCookieJar()
представляет собой класс FileCookieJar
, который может загружать и сохранять файлы cookie на диск в формате, совместимом с форматом файлов Set-Cookie3
библиотеки libwww-perl
.хотитеТакое поведение удобно, если надо хранить файлы cookie в удобочитаемом файле.
Изменено в Python 3.8: Параметр filename
поддерживает объект, подобный пути (pathlib.Path
).