Spec-Zone.ru › Qt 5.12

Класс QWebEngineUrlRequestJob

Класс QWebEngineUrlRequestJob представляет пользовательский запрос к URL. Подробнее...

Заголовок: #include <QWebEngineUrlRequestJob>
С момента: Qt 5.6
Наследует: QObject
  • Список всех членов, включая унаследованные
  • Устаревшие члены

Типы public

перечисление Error { НетОшибок, UrlNotFound, UrlInvalid, RequestAborted, RequestDenied, RequestFailed }

Функции public

void fail(QWebEngineUrlRequestJob::Error r)
QUrl initiator() const
void redirect(const QUrl &url)
void reply(const QByteArray &contentType, QIODevice *device)
QByteArray requestMethod() const
QUrl requestUrl() const
  • 31 функция public, унаследованная от QObject

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

const QMetaObject staticMetaObject
  • 9 статических членов public, унаследованных от QObject

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

  • 1 свойство, унаследованное от QObject
  • 1 public слот, унаследованный от QObject
  • 2 сигнала, унаследованные от QObject
  • 9 защищенных функций, унаследованных от QObject

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

Класс QWebEngineUrlRequestJob представляет пользовательский запрос к URL.

Объект QWebEngineUrlRequestJob передаётся в QWebEngineUrlSchemeHandler::requestStarted() и должен обрабатываться производными классами. Обработка запроса может быть выполнена с помощью вызова reply(), redirect() или fail().

Класс принадлежит движку веб-браузера и не требует удаления. Однако, движок веб-браузера может удалить объект, когда он больше не нужен, и поэтому необходимо отслеживать сигнал QObject::destroyed(), если указатель на объект хранится.

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

перечисление QWebEngineUrlRequestJob::Error

Это перечисление содержит тип ошибки, которая произошла:

Постоянная Значение Описание
QWebEngineUrlRequestJob::NoError 0 Запрос выполнен успешно.
QWebEngineUrlRequestJob::UrlNotFound 1 Запрашиваемый URL не найден.
QWebEngineUrlRequestJob::UrlInvalid 2 Запрашиваемый URL некорректен.
QWebEngineUrlRequestJob::RequestAborted 3 Запрос отменён.
QWebEngineUrlRequestJob::RequestDenied 4 Запрос отклонен.
QWebEngineUrlRequestJob::RequestFailed 5 Запрос не удался.

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

void QWebEngineUrlRequestJob::fail(QWebEngineUrlRequestJob::Error r)

Прерывает запрос с ошибкой r.

См. также Error.

QUrl QWebEngineUrlRequestJob::initiator() const

Возвращает сериализованное происхождение контента, инициировавшего запрос.

В общем случае происхождение состоит из схемы, имени хоста и порта. Например, "http://localhost:8080" является допустимым происхождением. Порт опускается, если он является стандартным портом схемы (80 для http, 443 для https). Имя хоста опускается для схем, не относящихся к сети, таких как file и qrc.

Однако, также существует специальное значение "null", представляющее уникальное происхождение. Например, это происхождение заблокированного iframe. Цель этого специального происхождения — всегда отличаться от всех других происхождений в проверке одинакового происхождения. Другими словами, контент с уникальным происхождением никогда не должен иметь привилегированного доступа к другому контенту.

Наконец, если запрос не был инициирован веб-контентом, функция вернёт пустой объект QUrl. Это происходит, например, при вызове QWebEnginePage::setUrl().

Это значение можно использовать для реализации безопасных проверок происхождения.

Функция была введена в Qt 5.11.

void QWebEngineUrlRequestJob::redirect(const QUrl &url)

Перенаправляет запрос на url.

void QWebEngineUrlRequestJob::reply(const QByteArray &contentType, QIODevice *device)

Отвечает на запрос с помощью device и MIME-типа contentType.

Пользователь должен понимать, что device будет использоваться в другом потоке до удаления объекта. В случае одновременного доступа из основного потока пользователь отвечает за обеспечение потокобезопасности доступа к device, например, с использованием QMutex. Обратите внимание, что объект device не принадлежит движку веб-браузера. Поэтому, необходимо отслеживать сигнал QObject::destroyed() объекта QWebEngineUrlRequestJob.

Объект device должен оставаться доступным как минимум до тех пор, пока существует объект job. При вызове этого метода с вновь созданным устройством, одним из решений является создание устройства в качестве дочернего объекта job или удаление его при удалении job, как показано ниже:

connect(job, &QObject::destroyed, device, &QObject::deleteLater);

QByteArray QWebEngineUrlRequestJob::requestMethod() const

Возвращает HTTP-метод запроса (например, GET или POST).

QUrl QWebEngineUrlRequestJob::requestUrl() const

Возвращает запрашиваемый URL.

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

Spec-Zone.ru

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