Класс 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.14/qwebengineurlrequestjob.html