Класс QWebEngineUrlRequestJob
Класс QWebEngineUrlRequestJob представляет пользовательский запрос к URL. Подробнее...
| Заголовок: | #include <QWebEngineUrlRequestJob> |
| С момента: | Qt 5.6 |
| Наследует: | QObject |
Открытые типы
| перечисление | Error { НетОшибки, UrlNotFound, UrlInvalid, ЗапросОтменен, ЗапросЗапрещен, ЗапросНеУдался } |
Открытые функции
| 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 |
- 34 открытые функции, унаследованные от QObject
Дополнительные унаследованные члены
- 1 свойство, унаследованное от QObject
- 1 открытый слот, унаследованный от QObject
- 2 сигнала, унаследованные от QObject
- 1 открытая переменная, унаследованная от QObject
- 10 статические открытые члены, унаследованные от QObject
- 9 защищённые функции, унаследованные от QObject
- 2 защищённые переменные, унаследованные от 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 должен оставаться доступным как минимум до тех пор, пока существует объект. При вызове этого метода с вновь созданным объектом device одним из решений является создание device как дочернего объекта 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/archives/qt-5.11/qwebengineurlrequestjob.html