Spec-Zone.ru › Qt 5.15

Класс QNetworkCookie

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

Заголовок: #include <QNetworkCookie>
qmake: QT += network
С момента: Qt 4.4

Этот класс был представлен в Qt 4.4.

  • Список всех членов, включая унаследованные

Открытые типы

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

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

QNetworkCookie(const QNetworkCookie &other)
QNetworkCookie(const QByteArray &name = QByteArray(), const QByteArray &value = QByteArray())
QNetworkCookie & operator=(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
bool operator==(const QNetworkCookie &other) const

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

QList<QNetworkCookie> parseCookies(const QByteArray &cookieString)

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

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

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

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

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

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

Этот класс реализует cookie, как описано в первоначальной спецификации cookie Netscape, которая несколько похожа на спецификацию RFC 2109, плюс «расширение HttpOnly» . Более новая спецификация 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 QNetworkCookie &other)

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

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

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

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

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

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

QNetworkCookie::~QNetworkCookie()

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

QString QNetworkCookie::domain() const

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

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

См. также 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.

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

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

bool QNetworkCookie::isSessionCookie() const

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

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

QByteArray QNetworkCookie::name() const

Возвращает имя этого файла 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)

Устанавливает флаг «secure» этого файла cookie равным enable.

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

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

void QNetworkCookie::setValue(const QByteArray &value)

Устанавливает значение этого файла cookie равным value.

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

void QNetworkCookie::swap(QNetworkCookie &other)

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

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

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

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

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

QByteArray QNetworkCookie::value() const

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

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

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

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

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

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

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/qt-5.15/qnetworkcookie.html

Spec-Zone.ru

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