Сообщить об ошибке.

Класс FileCookieJar() модуля http.cookiejar в Python

Сохранение установленных cookie в файл

Синтаксис:

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(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).