Spec-Zone.ru › Qt 5.6

Класс QNetworkCookieJar

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

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

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

QNetworkCookieJar(QObject *parent = Q_NULLPTR)
virtual ~QNetworkCookieJar()
virtual QList<QNetworkCookie> cookiesForUrl(const QUrl &url) const
virtual bool deleteCookie(const QNetworkCookie &cookie)
virtual bool insertCookie(const QNetworkCookie &cookie)
virtual bool setCookiesFromUrl(const QList<QNetworkCookie> &cookieList, const QUrl &url)
virtual bool updateCookie(const QNetworkCookie &cookie)
  • 31 открытых функций, унаследованных от QObject

Защищенные функции

QList<QNetworkCookie> allCookies() const
void setAllCookies(const QList<QNetworkCookie> &cookieList)
virtual bool validateCookie(const QNetworkCookie &cookie, const QUrl &url) const
  • 9 защищенных функций, унаследованных от QObject

Дополнительные унаследованные члены

  • 1 свойство, унаследованное от QObject
  • 1 открытый слот, унаследованный от QObject
  • 2 сигнала, унаследованные от QObject
  • 11 статических открытых членов, унаследованных от QObject

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

Класс QNetworkCookieJar реализует простое хранилище объектов QNetworkCookie

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

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

Хранилище куки — это объект, который содержит все куки, установленные в предыдущих запросах. Веб-браузеры сохраняют свои хранилища куки на диске, чтобы сохранить постоянные куки между вызовами приложения.

QNetworkCookieJar не реализует постоянное хранилище: он хранит куки только в памяти. После удаления объекта QNetworkCookieJar все хранившиеся в нём куки будут удалены. Если нужно сохранить куки, необходимо наследоваться от этого класса и реализовать сохранение на диск в собственном формате хранения.

Этот класс реализует только базовые меры безопасности, рекомендованные спецификациями куки, и не реализует никакой политики принятия куки (принимает все куки, установленные любыми запросами). Для переопределения этих правил следует переопределить виртуальные функции cookiesForUrl() и setCookiesFromUrl(). Они вызываются QNetworkReply и QNetworkAccessManager при обнаружении новых куки и при необходимости куки.

См. также QNetworkCookie, QNetworkAccessManager, QNetworkReply, QNetworkRequest и QNetworkAccessManager::setCookieJar.

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

QNetworkCookieJar::QNetworkCookieJar(QObject *parent = Q_NULLPTR)

Создает объект QNetworkCookieJar и устанавливает родительский объект в parent.

Хранилище куки инициализируется пустым.

QNetworkCookieJar::~QNetworkCookieJar()

Уничтожает этот объект хранилища куки и удаляет все хранившиеся в нём куки. Куки не сохраняются на диск в стандартной реализации QNetworkCookieJar.

Если необходимо сохранить куки на диск, необходимо наследоваться от QNetworkCookieJar и самостоятельно сохранить куки на диск.

QList<QNetworkCookie> QNetworkCookieJar::allCookies() const

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

См. также setAllCookies() и cookiesForUrl().

QList<QNetworkCookie> QNetworkCookieJar::cookiesForUrl(const QUrl &url) const

Возвращает куки, которые должны быть добавлены при отправке запроса на url. Эта функция вызывается по умолчанию QNetworkAccessManager::createRequest(), которая добавляет куки, возвращенные этой функцией, к отправляемому запросу.

Если найдено более одного куки с одинаковым именем, но с разными путями, возвращается куки с более длинным путем перед куки с более коротким путем. Другими словами, эта функция возвращает куки, отсортированные по убыванию длины пути.

Стандартный класс QNetworkCookieJar реализует только очень простую политику безопасности (он проверяет, что домен и путь куки соответствуют ответу). Чтобы улучшить политику безопасности собственными алгоритмами, переопределите cookiesForUrl().

См. также setCookiesFromUrl() и QNetworkAccessManager::setCookieJar().

bool QNetworkCookieJar::deleteCookie(const QNetworkCookie &cookie)

Удаляет из хранилища куки куки, найденное с таким же идентификатором, как cookie.

Возвращает true, если куки было удалено, иначе false.

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

См. также QNetworkCookie::hasSameIdentifier().

bool QNetworkCookieJar::insertCookie(const QNetworkCookie &cookie)

Добавляет cookie в это хранилище куки.

Возвращает true, если cookie был добавлен, иначе false.

Если куки с таким же идентификатором уже существует в хранилище куки, оно будет перезаписано.

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

void QNetworkCookieJar::setAllCookies(const QList<QNetworkCookie> &cookieList)

Устанавливает внутренний список куки, хранимых в этом хранилище куки, в cookieList. Эта функция подходит для производных классов, чтобы реализовать загрузку куки из постоянного хранилища или собственные политики принятия куки, переопределив setCookiesFromUrl().

См. также allCookies() и setCookiesFromUrl().

bool QNetworkCookieJar::setCookiesFromUrl(const QList<QNetworkCookie> &cookieList, const QUrl &url)

Добавляет куки из списка cookieList в это хранилище куки. Перед вставкой куки нормализуются.

Возвращает true, если один или несколько куки установлены для url, иначе false.

Если куки уже существует в хранилище куки, оно будет перезаписано куки из cookieList.

Класс QNetworkCookieJar по умолчанию реализует только очень простую политику безопасности (проверяет, что домен и путь куки соответствуют ответу). Чтобы улучшить политику безопасности собственными алгоритмами, переопределите setCookiesFromUrl().

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

END_OF_DOCUMENT_MARKER

См. также cookiesForUrl(), QNetworkAccessManager::setCookieJar() и QNetworkCookie::normalize().

[virtual] bool QNetworkCookieJar::updateCookie(const QNetworkCookie &cookie)

Если в этом хранилище куки существует куки с таким же идентификатором, как и cookie, он будет обновлён. Эта функция использует insertCookie().

Возвращает true , если cookie был обновлён, false, если в хранилище нет куки, соответствующего идентификатору cookie.

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

См. также QNetworkCookie::hasSameIdentifier().

[virtual protected] bool QNetworkCookieJar::validateCookie(const QNetworkCookie &cookie, const QUrl &url) const

Возвращает true , если домен и путь cookie валидны, иначе — false. Параметр url используется для определения, разрешён ли домен, указанный в куки.

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

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

Spec-Zone.ru

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