- Qt 6.9
- Qt WebEngine
- C++ Classes
- QtWebEngineCore
- QWebEngineUrlRequestInfo
- Qt 6.9.0 Reference Documentation

# QWebEngineUrlRequestInfo Class

The QWebEngineUrlRequestInfo class provides information about URL requests. More...

Header: | `#include <QWebEngineUrlRequestInfo>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)` `target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore)`
qmake: | `QT += webenginecore`

- List of all members, including inherited members

## Public Types

enum | NavigationType { NavigationTypeLink, NavigationTypeTyped, NavigationTypeFormSubmitted, NavigationTypeBackForward, NavigationTypeReload, …, NavigationTypeOther }
enum | ResourceType { ResourceTypeMainFrame, ResourceTypeSubFrame, ResourceTypeStylesheet, ResourceTypeScript, ResourceTypeImage, …, ResourceTypeJson }

## Public Functions

void | block(bool shouldBlock)
QUrl | firstPartyUrl() const
`(since 6.5)` QHash<QByteArray, QByteArray> | httpHeaders() const
QUrl | initiator() const
`(since 6.9)` bool | isDownload() const
QWebEngineUrlRequestInfo::NavigationType | navigationType() const
void | redirect(const QUrl &url)
`(since 6.7)` QIODevice * | requestBody() const
QByteArray | requestMethod() const
QUrl | requestUrl() const
QWebEngineUrlRequestInfo::ResourceType | resourceType() const
void | setHttpHeader(const QByteArray &name, const QByteArray &value)

## Detailed Description

The QWebEngineUrlRequestInfo is useful for setting extra header fields for requests or for redirecting certain requests without payload data to another URL. This class cannot be instantiated or copied by the user, instead it will be created by Qt WebEngine and sent through the virtual function QWebEngineUrlRequestInterceptor::interceptRequest() if an interceptor has been set.

## Member Type Documentation

### enum QWebEngineUrlRequestInfo::NavigationType

This enum type describes the navigation type of the request:

Constant | Value | Description
--- | --- | ---
`QWebEngineUrlRequestInfo::NavigationTypeLink` | `0` | Navigation initiated by clicking a link.
`QWebEngineUrlRequestInfo::NavigationTypeTyped` | `1` | Navigation explicitly initiated by typing a URL.
`QWebEngineUrlRequestInfo::NavigationTypeFormSubmitted` | `2` | Navigation submits a form.
`QWebEngineUrlRequestInfo::NavigationTypeBackForward` | `3` | Navigation initiated by a history action.
`QWebEngineUrlRequestInfo::NavigationTypeReload` | `4` | Navigation initiated by refreshing the page.
`QWebEngineUrlRequestInfo::NavigationTypeRedirect` | `6` | Navigation triggered automatically by page content or remote server. (Added in Qt 5.14)
`QWebEngineUrlRequestInfo::NavigationTypeOther` | `5` | None of the above.

### enum QWebEngineUrlRequestInfo::ResourceType

This enum type holds the type of the requested resource:

Constant | Value | Description
--- | --- | ---
`QWebEngineUrlRequestInfo::ResourceTypeMainFrame` | `0` | Top level page.
`QWebEngineUrlRequestInfo::ResourceTypeSubFrame` | `1` | Frame or iframe.
`QWebEngineUrlRequestInfo::ResourceTypeStylesheet` | `2` | A CSS stylesheet.
`QWebEngineUrlRequestInfo::ResourceTypeScript` | `3` | An external script.
`QWebEngineUrlRequestInfo::ResourceTypeImage` | `4` | An image (JPG, GIF, PNG, and so on).
`QWebEngineUrlRequestInfo::ResourceTypeFontResource` | `5` | A font.
`QWebEngineUrlRequestInfo::ResourceTypeSubResource` | `6` | An "other" subresource.
`QWebEngineUrlRequestInfo::ResourceTypeObject` | `7` | An object (or embed) tag for a plugin or a resource that a plugin requested.
`QWebEngineUrlRequestInfo::ResourceTypeMedia` | `8` | A media resource.
`QWebEngineUrlRequestInfo::ResourceTypeWorker` | `9` | The main resource of a dedicated worker.
`QWebEngineUrlRequestInfo::ResourceTypeSharedWorker` | `10` | The main resource of a shared worker.
`QWebEngineUrlRequestInfo::ResourceTypePrefetch` | `11` | An explicitly requested prefetch.
`QWebEngineUrlRequestInfo::ResourceTypeFavicon` | `12` | A favicon.
`QWebEngineUrlRequestInfo::ResourceTypeXhr` | `13` | An XMLHttpRequest.
`QWebEngineUrlRequestInfo::ResourceTypePing` | `14` | A ping request for <a ping>.
`QWebEngineUrlRequestInfo::ResourceTypeServiceWorker` | `15` | The main resource of a service worker.
`QWebEngineUrlRequestInfo::ResourceTypeCspReport` | `16` | A report of Content Security Policy (CSP) violations. CSP reports are in JSON format and they are delivered by HTTP POST requests to specified servers. (Added in Qt 5.7)
`QWebEngineUrlRequestInfo::ResourceTypePluginResource` | `17` | A resource requested by a plugin. (Added in Qt 5.7)
`QWebEngineUrlRequestInfo::ResourceTypeNavigationPreloadMainFrame` | `19` | A main-frame service worker navigation preload request. (Added in Qt 5.14)
`QWebEngineUrlRequestInfo::ResourceTypeNavigationPreloadSubFrame` | `20` | A sub-frame service worker navigation preload request. (Added in Qt 5.14)
`QWebEngineUrlRequestInfo::ResourceTypeWebSocket` | `254` | A WebSocket request. (Added in Qt 6.4)
`QWebEngineUrlRequestInfo::ResourceTypeUnknown` | `255` | Unknown request type.
`QWebEngineUrlRequestInfo::ResourceTypeJson` | `21` | A JSON module. (Added in Qt 6.8)

Note: For forward compatibility all values not matched should be treated as unknown, not just `ResourceTypeUnknown`.

## Member Function Documentation

### void QWebEngineUrlRequestInfo::block(bool shouldBlock)

Blocks this request if shouldBlock is true, so that it will not proceed.

This function can be used to prevent navigating away from a given domain, for example.

### QUrl QWebEngineUrlRequestInfo::firstPartyUrl() const

Returns the first party URL of the request. The first party URL is the URL of the page that issued the request.

### `[since 6.5]` QHash<QByteArray, QByteArray> QWebEngineUrlRequestInfo::httpHeaders() const

Returns the request headers.

Note: Not all headers are visible at this stage as Chromium will add security and proxy headers at a later stage.

This function was introduced in Qt 6.5.

### QUrl QWebEngineUrlRequestInfo::initiator() const

Returns the origin URL of the document that initiated the navigation of a frame to another frame.

### `[since 6.9]` bool QWebEngineUrlRequestInfo::isDownload() const

Returns true if the request was initiated by an explicit download action from the user.

A download can still occurs, even when this function return false.

This function was introduced in Qt 6.9.

### QWebEngineUrlRequestInfo::NavigationType QWebEngineUrlRequestInfo::navigationType() const

Returns the navigation type of the request.

See also NavigationType.

### void QWebEngineUrlRequestInfo::redirect(const QUrl &url)

Redirects this request to url.

### `[since 6.7]` QIODevice *QWebEngineUrlRequestInfo::requestBody() const

Returns a pointer to a QIODevice that gives access to the request body. The request body can contain data for example when the request is a POST request. If the request body is empty the QIODevice reflects this and does not return any data when performing read operations on it.

This function was introduced in Qt 6.7.

### QByteArray QWebEngineUrlRequestInfo::requestMethod() const

Returns the HTTP method of the request (for example, GET or POST).

### QUrl QWebEngineUrlRequestInfo::requestUrl() const

Returns the requested URL.

### QWebEngineUrlRequestInfo::ResourceType QWebEngineUrlRequestInfo::resourceType() const

Returns the resource type of the request.

See also ResourceType.

### void QWebEngineUrlRequestInfo::setHttpHeader(const QByteArray &name, const QByteArray &value)

Sets the request header name to value for this request.