Spec-Zone.ru › Qt 5.12

Класс QNetworkCookie

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

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

Типы Public

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

Функции Public

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(QNetworkCookie::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

Статические члены Public

QList<QNetworkCookie> parseCookies(const QByteArray &cookieString)

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

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

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

Cookie устанавливается удалённым сервером, когда он отвечает на запрос, и ожидается, что этот же cookie будет отправлен обратно при последующих запросах.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

QNetworkCookie::QNetworkCookie(const QNetworkCookie &other)

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

QNetworkCookie::~QNetworkCookie()

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

QString QNetworkCookie::domain() const

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

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

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

QDateTime QNetworkCookie::expirationDate() const

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

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

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

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

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

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

bool QNetworkCookie::isHttpOnly() const

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

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

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

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

bool QNetworkCookie::isSecure() const

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

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

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

bool QNetworkCookie::isSessionCookie() const

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

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

QByteArray QNetworkCookie::name() const

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

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

void QNetworkCookie::normalize(const QUrl &url)

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

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

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

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

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

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

QString QNetworkCookie::path() const

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

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

void QNetworkCookie::setDomain(const QString &domain)

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

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

void QNetworkCookie::setExpirationDate(const QDateTime &date)

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

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

void QNetworkCookie::setHttpOnly(bool enable)

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

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

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

void QNetworkCookie::setName(const QByteArray &cookieName)

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

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

void QNetworkCookie::setPath(const QString &path)

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

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

void QNetworkCookie::setSecure(bool enable)

Устанавливает флаг «secure» этого куки в enable.

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

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

void QNetworkCookie::setValue(const QByteArray &value)

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

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

void QNetworkCookie::swap(QNetworkCookie &other)

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

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

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

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

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

QByteArray QNetworkCookie::value() const

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

Пара пары имя-значение куки считаются непрозрачными для приложения: их значения ничего не означают.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Spec-Zone.ru

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