Класс QWebEngineUrlRequestJob
Класс QWebEngineUrlRequestJob представляет собой пользовательский запрос URL. Подробнее...
| Заголовок: | #include <QWebEngineUrlRequestJob> |
| С момента: | Qt 5.6 |
| Наследует: | QObject |
Этот класс был представлен в Qt 5.6.
Типы публичного доступа
| перечисление | Ошибка { НетОшибки, UrlНеНайден, UrlНедействителен, ЗапросОтменён, ЗапросЗапрещён, ЗапросНеУдался } |
Функции публичного доступа
| void | fail(QWebEngineUrlRequestJob::Ошибка r) |
| QUrl | initiator() const |
| void | redirect(const QUrl &url) |
| void | reply(const QByteArray &contentType, QIODevice *device) |
| QMap<QByteArray, QByteArray> | requestHeaders() const |
| QByteArray | requestMethod() const |
| QUrl | requestUrl() const |
Подробное описание
Объект QWebEngineUrlRequestJob передаётся в QWebEngineUrlSchemeHandler::requestStarted() и должен обрабатываться производными классами. Обработка запроса может быть выполнена путём вызова reply(), redirect() или 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.
См. такжеОшибка.
QUrl QWebEngineUrlRequestJob::initiator() const
Возвращает сериализованное происхождение контента, инициировавшего запрос.
В общем случае, происхождение состоит из схемы, имени хоста и порта. Например, "http://localhost:8080" — допустимое происхождение. Порт опускается, если он соответствует стандартному порту схемы (80 для http, 443 для https). Имя хоста опускается для схем, не связанных с сетью, таких как file и qrc.
Однако, существует также специальное значение "null" , представляющее уникальное происхождение. Например, это происхождение вложенной встраиваемой области с защитой от песочницы. Цель этого специального происхождения — всегда отличаться от всех других происхождений в проверке того же источника. Другими словами, контент с уникальным происхождением никогда не должен иметь привилегированный доступ к любому другому контенту.
Наконец, если запрос не был инициирован веб-контентом, функция вернёт пустой 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.
Объект устройства должен оставаться доступным по крайней мере до тех пор, пока существует задание. При вызове этого метода с недавно созданным устройством одним из решений является создание устройства как дочернего объекта задания или удаление устройства при удалении задания, как показано ниже:
connect(job, &QObject::destroyed, device, &QObject::deleteLater);
QMap<QByteArray, QByteArray> QWebEngineUrlRequestJob::requestHeaders() const
Возвращает все HTTP-заголовки, добавленные к запросу.
Эта функция была представлена в Qt 5.13.
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.13/qwebengineurlrequestjob.html