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

Класс CookiePolicy модуля http.cookiejar в Python

Синтаксис:

import http.cookiejar

http.cookiejar.CookiePolicy()

Параметры:

  • нет.

Возвращаемое значение:

Описание:

Класс CookiePolicy() модуля http.cookiejar отвечает за принятие решения о том, следует ли принимать каждый файл cookie или возвращать его на сервер.

Объект CookiePolicy.

Самый полезный способ определить класс http.cookiejar.CookiePolicy - создать подкласс от http.cookiejar.DefaultCookiePolicy и переопределить некоторые или все нижеперечисленные методы. Сам CookiePolicy может использоваться в качестве нулевой политики, чтобы разрешить установку и получение любых файлов cookie, что вряд ли будет полезно.

У объектов, реализующих интерфейс CookiePolicy, есть следующие методы:


CookiePolicy.set_ok(cookie, request):

Метод CookiePolicy.set_ok() возвращает bool значение с указанием того, следует ли принимать файлы cookie с сервера.

Аргумент cookie является экземпляром класса http.cookiejar.Cookie.

Аргумент request является объектом реализации интерфейса, определяемого документацией для CookieJar.extract_cookies().

CookiePolicy.return_ok(cookie, request):

Метод CookiePolicy.return_ok() возвращает bool значение, указывающее, следует ли возвращать cookie на сервер.

Аргумент cookie является экземпляром класса http.cookiejar.Cookie.

Аргумент request является объектом реализации интерфейса, определяемого документацией для CookieJar.add_cookie_header().

CookiePolicy.domain_return_ok(domain, request):

Метод CookiePolicy.domain_return_ok() возвращает False, если файлы cookie не должны возвращаться, учитывая домен cookie domain.

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

Если методы CookiePolicy.domain_return_ok() и CookiePolicy.path_return_ok() возвращают True, то вся работа остается на CookiePolicy.return_ok().

Если метод CookiePolicy.domain_return_ok() возвращает True для значения domain cookie, то для значения пути path cookie вызывается CookiePolicy.path_return_ok(). В противном случае для аргумента domain cookie никогда не вызываются методы CookiePolicy.path_return_ok() и CookiePolicy.return_ok().

Если CookiePolicy.path_return_ok() возвращает True, то метод CookiePolicy.return_ok() вызывается с самим объектом Cookie для полной проверки. В противном случае метод CookiePolicy.return_ok() никогда не вызывается для этого значения path в cookie.

Обратите внимание, что метод CookiePolicy.domain_return_ok() вызывается для каждого значения domain cookie, а не только для домена запроса. Например, метод может быть вызван как с аргументов domain, равным .example.com, так и с www.example.com, если домен запроса - www.example.com.

Так же работает метод CookiePolicy.path_return_ok().

Аргумент request должен быть такой же как для метода CookiePolicy.return_ok().

CookiePolicy.path_return_ok(path, request):

Метод CookiePolicy.path_return_ok() возвращает False, если файлы cookie не должны возвращаться при заданном path для файлов cookie.

Поведение и аргументы этого метода рассмотрены в документации к методу CookiePolicy.domain_return_ok().

В дополнение к реализации вышеупомянутых методов реализации интерфейса CookiePolicy также должны предоставлять следующие атрибуты, указывающие, какие и как протоколы следует использовать. Все эти атрибуты изменяемы и могут быть переназначены.

CookiePolicy.netscape:

Атрибут CookiePolicy.netscape реализует протокол Netscape.

CookiePolicy.rfc2965:

Атрибут CookiePolicy.rfc2965 реализует протокол RFC 2965.

CookiePolicy.hide_cookie2:

Не добавляйте в запросы заголовок Cookie2 (наличие этого заголовка указывает серверу, что клиент понимает файлы cookie RFC 2965).