Spec-Zone.ru › Qt

Класс QWebEngineUrlRequestJob

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

Заголовок: #include <QWebEngineUrlRequestJob>
CMake: find_package(Qt6 COMPONENTS WebEngineCore REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore)
qmake: QT += webenginecore
С момента: Qt 5.6
Наследует: QObject
  • Список всех членов, включая унаследованные

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

Перечисление Ошибка { НетОшибки, UrlНеНайден, UrlНедействителен, ЗапросОтменён, ЗапросЗапрещён, ЗапросНеУдался }

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

void fail(QWebEngineUrlRequestJob::Ошибка r)
QUrl initiator() const
void перенаправить(const QUrl &url)
void ответ(const QByteArray &contentType, QIODevice *device)
QMap<QByteArray, QByteArray> заголовкиЗапроса() const
QByteArray методЗапроса() const
QUrl urlЗапроса() const

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

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

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

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

Перечисление QWebEngineUrlRequestJob::Ошибка

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

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

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

void QWebEngineUrlRequestJob::fail(QWebEngineUrlRequestJob::Ошибка r)

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

См. также Ошибка.

[since 5.11] QUrl QWebEngineUrlRequestJob::initiator() const

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

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

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

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

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

Эта функция была представлена в Qt 5.11.

void QWebEngineUrlRequestJob::перенаправить(const QUrl &url)

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

void QWebEngineUrlRequestJob::ответ(const QByteArray &contentType, QIODevice *device)

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

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

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

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

[since 5.13] QMap<QByteArray, QByteArray> QWebEngineUrlRequestJob::заголовкиЗапроса() const

Возвращает любые HTTP-заголовки, добавленные к запросу.

Эта функция была представлена в Qt 5.13.

QByteArray QWebEngineUrlRequestJob::методЗапроса() const

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

QUrl QWebEngineUrlRequestJob::urlЗапроса() const

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

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

Spec-Zone.ru

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