Spec-Zone.ru › Qt 5.6

Класс QNetworkCookie

Класс QNetworkCookie хранит один сетевой куки. Подробнее...

Заголовок: #include <QNetworkCookie>
qmake: QT += network
С тех пор: Qt 4.4
  • Список всех членов, включая унаследованные

Типы

перечисление RawForm { NameAndValueOnly, Full }

Открытые функции

QNetworkCookie(const QByteArray &name = QByteArray(), const QByteArray &value = QByteArray())
QNetworkCookie(const QNetworkCookie &other)
~QNetworkCookie()
QString domain() const
QDateTime expirationDate() const
bool hasSameIdentifier(const QNetworkCookie &other) const
bool isHttpOnly() const
bool isSecure() const
bool isSessionCookie() const
QByteArray name() const
void normalize(const QUrl &url)
QString path() const
void setDomain(const QString &domain)
void setExpirationDate(const QDateTime &date)
void setHttpOnly(bool enable)
void setName(const QByteArray &cookieName)
void setPath(const QString &path)
void setSecure(bool enable)
void setValue(const QByteArray &value)
void swap(QNetworkCookie &other)
QByteArray toRawForm(RawForm form = Full) const
QByteArray value() const
bool operator!=(const QNetworkCookie &other) const
QNetworkCookie & operator=(QNetworkCookie &&other)
QNetworkCookie & operator=(const QNetworkCookie &other)
bool operator==(const QNetworkCookie &other) const

Статические открытые члены

QList<QNetworkCookie> parseCookies(const QByteArray &cookieString)

Подробное описание

Класс QNetworkCookie хранит один сетевой куки.

Куки — это небольшие фрагменты информации, которые используют бессостоятельные протоколы, такие как HTTP, для сохранения некоторой постоянной информации между запросами.

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

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

Куки также может иметь дату истечения срока действия, указывающую его срок действия. Если дата истечения срока действия отсутствует, куки считается «куки сессии» и должен быть удален при завершении работы приложения (или по завершении его концепции сессии).

QNetworkCookie предоставляет способ парсинга куки из формата заголовка HTTP с помощью функции QNetworkCookie::parseCookies(). Однако при получении в QNetworkReply куки уже распарсен.

Этот класс реализует куки, как описано в начальной спецификации куки Netscape, которая несколько похожа на спецификацию RFC 2109, плюс "HttpOnly" extension. Более новая спецификация RFC 2965 (которая использует заголовок Set-Cookie2) не поддерживается.

См. также QNetworkCookieJar, QNetworkRequest и QNetworkReply.

Документация по типам членов

перечисление QNetworkCookie::RawForm

Это перечисление используется с функцией toRawForm() для объявления, какую форму куки нужно вернуть.

Постоянная Значение Описание
QNetworkCookie::NameAndValueOnly 0 заставляет toRawForm() возвращать только часть "NAME=VALUE" куки, подходящую для отправки обратно на сервер в заголовке "Cookie:" запроса клиента. Несколько куки разделены точкой с запятой в поле заголовка "Cookie:".
QNetworkCookie::Full 1 заставляет toRawForm() возвращать полное содержимое куки, подходящее для отправки клиенту в заголовке "Set-Cookie:" сервера.

Обратите внимание, что только форма Full куки может быть распарсена обратно в исходное содержимое.

См. также toRawForm() и parseCookies().

Документация по документации открытых функций

QNetworkCookie::QNetworkCookie(const QByteArray &name = QByteArray(), const QByteArray &value = QByteArray())

Создаёт новый объект QNetworkCookie, инициализируя имя куки значением name, а его значение — value.

Куки является валидным только если у него есть имя. Тем не менее, значение является неявным для приложения, и пустое значение может иметь значение для удалённого сервера.

QNetworkCookie::QNetworkCookie(const QNetworkCookie &other)

Создаёт новый объект QNetworkCookie, копируя содержимое other.

QNetworkCookie::~QNetworkCookie()

Удаляет этот объект QNetworkCookie.

QString QNetworkCookie::domain() const

Возвращает домен, к которому относится этот куки. Это соответствует полю "домен" строки куки.

Обратите внимание, что домен здесь может начинаться с точки, что не является допустимым именем хоста. Тем не менее, это означает, что этот куки соответствует всем именам хостов, заканчивающимся этим доменным именем.

См. также setDomain().

QDateTime QNetworkCookie::expirationDate() const

Возвращает дату истечения срока действия данного cookie. Если этот cookie является cookie сессии, возвращаемое значение QDateTime не будет действительным. Если дата истечения срока действия уже в прошлом, этот cookie уже просрочен и не должен отправляться обратно на удаленный сервер.

Дата истечения срока действия соответствует параметрам записи «expires» в строке cookie.

См. также isSessionCookie() и setExpirationDate().

bool QNetworkCookie::hasSameIdentifier(const QNetworkCookie &other) const

Возвращает true если у данного cookie есть та же кортеж идентификатора, что и у other. Кортеж идентификатора состоит из имени, домена и пути.

См. также operator==().

bool QNetworkCookie::isHttpOnly() const

Возвращает true если для данного cookie включён флаг «HttpOnly».

Cookie с флагом «HttpOnly» может устанавливаться и извлекаться только сетевыми запросами и ответами; т.е., протоколом HTTP. Он недоступен для сценариев, выполняемых в браузерах.

Эта функция была добавлена в Qt 4.5.

См. также isSecure().

bool QNetworkCookie::isSecure() const

Возвращает true если параметр «secure» был указан в строке cookie, в противном случае — false.

Secure cookie могут содержать конфиденциальную информацию и не должны повторно отправляться по незащищённым каналам связи.

См. также setSecure().

bool QNetworkCookie::isSessionCookie() const

Возвращает true если данный cookie является cookie сессии. Cookie сессии — это cookie без даты истечения срока действия, что означает, что он должен быть удалён, когда заканчивается сессия приложения (обычно, при выходе из приложения).

См. также expirationDate() и setExpirationDate().

QByteArray QNetworkCookie::name() const

Возвращает имя данного cookie. Единственным обязательным полем cookie является его имя, без которого cookie не считается допустимым.

См. также setName() и value().

void QNetworkCookie::normalize(const QUrl &url)

Эта функция нормализует путь и домен cookie, если они были ранее пустыми. Параметр url используется для определения правильного домена и пути.

Эта функция была добавлена в Qt 5.0.

[static] QList<QNetworkCookie> QNetworkCookie::parseCookies(const QByteArray &cookieString)

Парсит строку cookie cookieString, полученную от ответа сервера в заголовке «Set-Cookie:». Если произошла ошибка при парсинге, функция возвращает пустой список.

Поскольку заголовок HTTP может устанавливать более одного cookie одновременно, эта функция возвращает QList<QNetworkCookie>, по одному для каждого проанализированного cookie.

См. также toRawForm().

QString QNetworkCookie::path() const

Возвращает путь, связанный с этим cookie. Это соответствует полю «path» строки cookie.

См. также setPath().

void QNetworkCookie::setDomain(const QString &domain)

Устанавливает домен, связанный с этим cookie, в domain.

См. также domain().

void QNetworkCookie::setExpirationDate(const QDateTime &date)

Устанавливает дату истечения срока действия этого cookie на date. Установка недопустимой даты истечения срока действия для этого cookie означает, что это cookie сессии.

См. также isSessionCookie() и expirationDate().

void QNetworkCookie::setHttpOnly(bool enable)

Устанавливает флаг «HttpOnly» этого cookie на enable.

Эта функция была добавлена в Qt 4.5.

См. также isHttpOnly().

void QNetworkCookie::setName(const QByteArray &cookieName)

Устанавливает имя этого cookie в cookieName. Обратите внимание, что установка имени cookie на пустой QByteArray сделает этот cookie недопустимым.

См. также name() и value().

void QNetworkCookie::setPath(const QString &path)

Устанавливает путь, связанный с этим cookie, в path.

См. также path().

void QNetworkCookie::setSecure(bool enable)

Устанавливает флаг безопасности этого cookie на enable.

Secure cookie могут содержать конфиденциальную информацию и не должны повторно отправляться по незащищённым каналам связи.

См. также isSecure().

void QNetworkCookie::setValue(const QByteArray &value)

Устанавливает значение этого cookie в value.

См. также value() и name().

void QNetworkCookie::swap(QNetworkCookie &other)

Меняет местами этот cookie и other. Эта функция очень быстрая и никогда не завершается неудачей.

Эта функция была добавлена в Qt 5.0.

QByteArray QNetworkCookie::toRawForm(RawForm form = Full) const

Возвращает исходную форму этого QNetworkCookie. Возвращаемый QByteArray подходит для HTTP-заголовка, как в ответе сервера (заголовок Set-Cookie), так и в запросе клиента (заголовок Cookie). Вы можете выбрать один из двух форматов, используя form.

См. также parseCookies().

QByteArray QNetworkCookie::value() const

Возвращает значение этого cookie, как указано в строке cookie. Обратите внимание, что cookie по-прежнему является допустимым, если его значение пустое.

Пара name-value cookie считаются необработанными для приложения: т.е., их значения ничего не означают.

См. также setValue() и name().

bool QNetworkCookie::operator!=(const QNetworkCookie &other) const

Возвращает true если этот cookie не равен other.

См. также operator==().

QNetworkCookie &QNetworkCookie::operator=(QNetworkCookie &&other)

Оператор перемещающего присваивания.

QNetworkCookie &QNetworkCookie::operator=(const QNetworkCookie &other)

Копирует содержимое объекта QNetworkCookie other в этот объект.

bool QNetworkCookie::operator==(const QNetworkCookie &other) const

Возвращает true если этот cookie равен other. Эта функция возвращает true только если все поля cookie одинаковы.

Однако в некоторых контекстах два cookie с одинаковым именем могут считаться равными.

Эта функция была добавлена в Qt 5.0.

См. также operator!=() и hasSameIdentifier().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qnetworkcookie.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API