Spec-Zone.ru › Qt 5.6

Класс QNetworkRequest

Класс QNetworkRequest содержит запрос, который должен быть отправлен с помощью QNetworkAccessManager. Подробнее...

Заголовок: #include <QNetworkRequest>
qmake: QT += network
С момента: Qt 4.4
  • Список всех членов, включая унаследованные

Типы публичных данных

перечисление Attribute { HttpStatusCodeAttribute, HttpReasonPhraseAttribute, RedirectionTargetAttribute, ConnectionEncryptedAttribute, ..., UserMax }
перечисление CacheLoadControl { AlwaysNetwork, PreferNetwork, PreferCache, AlwaysCache }
перечисление KnownHeaders { ContentDispositionHeader, ContentTypeHeader, ContentLengthHeader, LocationHeader, ..., ServerHeader }
перечисление LoadControl { Automatic, Manual }
перечисление Priority { HighPriority, NormalPriority, LowPriority }

Публичные функции

QNetworkRequest(const QUrl &url = QUrl())
QNetworkRequest(const QNetworkRequest &other)
~QNetworkRequest()
QVariant attribute(Attribute code, const QVariant &defaultValue = QVariant()) const
bool hasRawHeader(const QByteArray &headerName) const
QVariant header(KnownHeaders header) const
int maximumRedirectsAllowed() const
QObject * originatingObject() const
Priority priority() const
QByteArray rawHeader(const QByteArray &headerName) const
QList<QByteArray> rawHeaderList() const
void setAttribute(Attribute code, const QVariant &value)
void setHeader(KnownHeaders header, const QVariant &value)
void setMaximumRedirectsAllowed(int maxRedirectsAllowed)
void setOriginatingObject(QObject *object)
void setPriority(Priority priority)
void setRawHeader(const QByteArray &headerName, const QByteArray &headerValue)
void setSslConfiguration(const QSslConfiguration &config)
void setUrl(const QUrl &url)
QSslConfiguration sslConfiguration() const
void swap(QNetworkRequest &other)
QUrl url() const
bool operator!=(const QNetworkRequest &other) const
QNetworkRequest & operator=(QNetworkRequest &&other)
QNetworkRequest & operator=(const QNetworkRequest &other)
bool operator==(const QNetworkRequest &other) const

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

Класс QNetworkRequest содержит запрос, который должен быть отправлен с помощью QNetworkAccessManager.

QNetworkRequest является частью API доступа к сети и содержит информацию, необходимую для отправки запроса по сети. Он включает в себя URL и дополнительную информацию, которая может использоваться для изменения запроса.

См. также QNetworkReply и QNetworkAccessManager.

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

перечисление QNetworkRequest::Attribute

Коды атрибутов для QNetworkRequest и QNetworkReply.

Атрибуты — это дополнительная метаданные, используемые для управления поведением запроса и передачи дополнительной информации от ответа обратно приложению. Атрибуты также расширяемы, что позволяет пользовательским реализациям передавать пользовательские значения.

Следующая таблица объясняет, какими являются значения атрибутов по умолчанию, типы QVariant, связанные с ними, значение по умолчанию, если атрибут отсутствует, и используется ли он в запросах или ответах.

Постоянная Значение Описание
QNetworkRequest::HttpStatusCodeAttribute 0 Только для ответов, тип: QMetaType::Int (без значения по умолчанию) Указывает код HTTP-статуса, полученный от HTTP-сервера (например, 200, 304, 404, 401 и т.д.). Если соединение не было HTTP-основанным, этот атрибут отсутствует.
QNetworkRequest::HttpReasonPhraseAttribute 1 Только для ответов, тип: QMetaType::QByteArray (без значения по умолчанию) Указывает фразу причины HTTP-статуса, полученную от HTTP-сервера (например, "Ok", "Found", "Not Found", "Access Denied" и т.д.). Это удобочитаемое представление кода статуса (см. выше). Если соединение не было HTTP-основанным, этот атрибут отсутствует.
QNetworkRequest::RedirectionTargetAttribute 2 Только для ответов, тип: QMetaType::QUrl (без значения по умолчанию) Если присутствует, указывает, что сервер перенаправляет запрос на другой URL. API доступа к сети по умолчанию не следует перенаправлениям: приложение может определить, разрешено ли требуемое перенаправление в соответствии с политиками безопасности, или оно может установить QNetworkRequest::FollowRedirectsAttribute в true (в этом случае перенаправление будет выполнено, и этот атрибут не будет присутствовать в ответе). Возвращаемый URL может быть относительным. Используйте QUrl::resolved(), чтобы получить абсолютный URL.
QNetworkRequest::ConnectionEncryptedAttribute 3 Только для ответов, тип: QMetaType::Bool (значение по умолчанию: false) Указывает, получены ли данные через зашифрованное (защищенное) соединение.
QNetworkRequest::CacheLoadControlAttribute 4 Только для запросов, тип: QMetaType::Int (значение по умолчанию: QNetworkRequest::PreferNetwork) Управляет способом доступа к кэшу. Возможные значения — те из QNetworkRequest::CacheLoadControl. Обратите внимание, что реализация QNetworkAccessManager по умолчанию не поддерживает кэширование. Однако этот атрибут может использоваться некоторыми бэкендами для изменения своих запросов (например, для кэширования прокси-серверов).
QNetworkRequest::CacheSaveControlAttribute 5 Только для запросов, тип: QMetaType::Bool (значение по умолчанию: true) Управляет тем, нужно ли сохранять полученные данные в кэше для последующего использования. Если значение false, полученные данные не будут автоматически кэшироваться. Если true, данные могут быть кэшированы, если они кэшируемые (что кэшируемо зависит от используемого протокола).
QNetworkRequest::SourceIsFromCacheAttribute 6 Только для ответов, тип: QMetaType::Bool (значение по умолчанию: false) Указывает, были ли данные получены из кэша или нет.
QNetworkRequest::DoNotBufferUploadDataAttribute 7 Только для запросов, тип: QMetaType::Bool (значение по умолчанию: false) Указывает, разрешено ли коду QNetworkAccessManager буферизовать данные загрузки, например, при выполнении HTTP POST. При использовании этого флага с последовательными данными загрузки необходимо установить заголовок ContentLengthHeader.
QNetworkRequest::HttpPipeliningAllowedAttribute 8 Только для запросов, тип: QMetaType::Bool (значение по умолчанию: false) Указывает, разрешено ли коду QNetworkAccessManager использовать HTTP-пипелинизацию с этим запросом.
QNetworkRequest::HttpPipeliningWasUsedAttribute 9 Только для ответов, тип: QMetaType::Bool Указывает, использовалась ли HTTP-пипелинизация для получения этого ответа.
QNetworkRequest::CustomVerbAttribute 10 Только для запросов, тип: QMetaType::QByteArray Содержит значение для пользовательского HTTP-глагола для отправки (предназначено для использования глаголов, отличных от GET, POST, PUT и DELETE). Этот глагол устанавливается при вызове QNetworkAccessManager::sendCustomRequest().
QNetworkRequest::CookieLoadControlAttribute 11 Только для запросов, тип: QMetaType::Int (значение по умолчанию: QNetworkRequest::Automatic) Указывает, следует ли отправлять заголовки 'Cookie' в запросе. Этот атрибут устанавливается в false библиотекой Qt WebKit при создании кросс-доменного XMLHttpRequest, где с помощью Javascript, создавшего запрос, explicitly не установлено withCredentials = true. См. здесь для получения дополнительной информации. (Это значение было введено в 4.7.)
QNetworkRequest::CookieSaveControlAttribute 13 Только для запросов, тип: QMetaType::Int (значение по умолчанию: QNetworkRequest::Automatic) Указывает, следует ли сохранять заголовки 'Cookie', полученные от сервера в ответ на запрос. Этот атрибут устанавливается в false библиотекой Qt WebKit при создании кросс-доменного XMLHttpRequest, где с помощью Javascript, создавшего запрос, explicitly не установлено withCredentials = true. См. здесь для получения дополнительной информации. (Это значение было введено в 4.7.)
QNetworkRequest::AuthenticationReuseAttribute 12 Только для запросов, тип: QMetaType::Int (значение по умолчанию: QNetworkRequest::Automatic) Указывает, следует ли использовать кэшированные учетные данные авторизации в запросе, если они доступны. Если это установлено в QNetworkRequest::Manual, и механизм аутентификации — 'Basic' или 'Digest', Qt не будет отправлять HTTP-заголовок 'Authorization' с любыми кэшированными учетными данными для URL запроса. Этот атрибут устанавливается в QNetworkRequest::Manual библиотекой Qt WebKit при создании кросс-доменного XMLHttpRequest, где с помощью Javascript, создавшего запрос, explicitly не установлено withCredentials = true. См. здесь для получения дополнительной информации. (Это значение было введено в 4.7.)
QNetworkRequest::BackgroundRequestAttribute 17 Тип: QMetaType::Bool (значение по умолчанию: false) Указывает, что это фоновая передача, а не инициируемая пользователем передача. В зависимости от платформы, фоновые передачи могут подчиняться различным правилам. Свойство QNetworkSession ConnectInBackground будет установлено в соответствии с этим атрибутом.
QNetworkRequest::SpdyAllowedAttribute 18 Только для запросов, тип: QMetaType::Bool (значение по умолчанию: false) Указывает, разрешено ли коду QNetworkAccessManager использовать SPDY с этим запросом. Это относится только к запросам SSL и зависит от поддержки сервером SPDY.
QNetworkRequest::SpdyWasUsedAttribute 19 Только для ответов, тип: QMetaType::Bool Указывает, использовался ли SPDY для получения этого ответа.
QNetworkRequest::EmitAllUploadProgressSignalsAttribute 20 Только для запросов, тип: QMetaType::Bool (значение по умолчанию: false) Указывает, следует ли генерировать все сигналы загрузки. По умолчанию сигнал uploadProgress генерируется только в интервалах по 100 миллисекунд. (Это значение было введено в 5.5.)
QNetworkRequest::FollowRedirectsAttribute 21 Только для запросов, тип: QMetaType::Bool (значение по умолчанию: false) Указывает, следует ли API доступа к сети автоматически следовать ответу с HTTP-перенаправлением или нет. В настоящее время перенаправления, которые небезопасны, то есть перенаправления от протокола "https" к протоколу "http", не разрешены. (Это значение было введено в 5.6.)
QNetworkRequest::User 1000 Специальный тип. Дополнительную информацию можно передавать в QVariants с типами от User до UserMax. Реализация Network Access по умолчанию игнорирует атрибуты запроса в этом диапазоне и не генерирует атрибуты в этом диапазоне в ответах. Диапазон предназначен для расширений QNetworkAccessManager.
QNetworkRequest::UserMax 32767 Специальный тип. См. User.

Этот перечисление был введен или изменен в Qt 4.7.

перечисление QNetworkRequest::CacheLoadControl

Управляет механизмом кеширования QNetworkAccessManager.

Постоянная Значение Описание
QNetworkRequest::AlwaysNetwork 0 всегда загружать из сети и не проверять, имеет ли кэш действительную запись (аналогично функции "Перезагрузка" в браузерах); кроме того, принудительно заставлять промежуточные кэши перепроверять данные.
QNetworkRequest::PreferNetwork 1 значение по умолчанию; загружать из сети, если кэшированная запись старше, чем запись из сети. Это никогда не вернёт устаревшие данные из кэша, но перепроверит ресурсы, которые стали устаревшими.
QNetworkRequest::PreferCache 2 загружать из кэша, если он доступен, в противном случае загружать из сети. Обратите внимание, что это может вернуть, возможно, устаревшие (но не просроченные) элементы из кэша.
QNetworkRequest::AlwaysCache 3 загружать только из кэша, указав ошибку, если элемент не был кэширован (т.е., автономный режим)

enum QNetworkRequest::KnownHeaders

Список известных типов заголовков, которые QNetworkRequest анализирует. Каждый известный заголовок также представлен в сыром виде со своим полным именем HTTP.

Постоянная Значение Описание
QNetworkRequest::ContentDispositionHeader 6 Соответствует заголовку HTTP Content-Disposition и содержит строку, содержащую тип расположения (например, attachment) и параметр (например, имя файла).
QNetworkRequest::ContentTypeHeader 0 Соответствует заголовку HTTP Content-Type и содержит строку, содержащую тип носителя (MIME) и любые дополнительные данные (например, кодировка).
QNetworkRequest::ContentLengthHeader 1 Соответствует заголовку HTTP Content-Length и содержит длину данных в байтах, передаваемых.
QNetworkRequest::LocationHeader 2 Соответствует заголовку HTTP Location и содержит URL, представляющий фактическое расположение данных, включая URL назначения в случае перенаправлений.
QNetworkRequest::LastModifiedHeader 3 Соответствует заголовку HTTP Last-Modified и содержит QDateTime, представляющий последнюю дату изменения содержимого.
QNetworkRequest::CookieHeader 4 Соответствует заголовку HTTP Cookie и содержит QList<QNetworkCookie>, представляющий cookie, которые необходимо отправить обратно на сервер.
QNetworkRequest::SetCookieHeader 5 Соответствует заголовку HTTP Set-Cookie и содержит QList<QNetworkCookie>, представляющий cookie, отправленные сервером для хранения локально.
QNetworkRequest::UserAgentHeader 7 Заголовок User-Agent, отправленный HTTP-клиентами.
QNetworkRequest::ServerHeader 8 Заголовок Server, полученный HTTP-клиентами.

См. также header(), setHeader(), rawHeader(), и setRawHeader().

enum QNetworkRequest::LoadControl

Указывает, была ли какая-либо часть механизма загрузки запроса вручную переопределена, например, Qt WebKit.

Постоянная Значение Описание
QNetworkRequest::Automatic 0 значение по умолчанию: указывает поведение по умолчанию.
QNetworkRequest::Manual 1 указывает, что поведение было вручную переопределено.

Этот перечисление был введён или изменён в Qt 4.7.

enum QNetworkRequest::Priority

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

Постоянная Значение Описание
QNetworkRequest::HighPriority 1 Высокий приоритет
QNetworkRequest::NormalPriority 3 Нормальный приоритет
QNetworkRequest::LowPriority 5 Низкий приоритет

Этот перечисление был введён или изменён в Qt 4.7.

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

QNetworkRequest::QNetworkRequest(const QUrl &url = QUrl())

Создаёт объект QNetworkRequest с url в качестве URL, который необходимо запросить.

См. также url() и setUrl().

QNetworkRequest::QNetworkRequest(const QNetworkRequest &other)

Создаёт копию other.

QNetworkRequest::~QNetworkRequest()

Удаляет объект QNetworkRequest.

QVariant QNetworkRequest::attribute(Attribute code, const QVariant &defaultValue = QVariant()) const

Возвращает атрибут, связанный с кодом code. Если атрибут не задан, возвращает defaultValue.

Примечание: Эта функция не применяет значения по умолчанию, перечисленные в QNetworkRequest::Attribute.

См. также setAttribute() и QNetworkRequest::Attribute.

bool QNetworkRequest::hasRawHeader(const QByteArray &headerName) const

Возвращает true если сырой заголовок headerName присутствует в этом запросе к сети.

См. также rawHeader() и setRawHeader().

QVariant QNetworkRequest::header(KnownHeaders header) const

Возвращает значение известного заголовка сети header, если он присутствует в этом запросе. Если он отсутствует, возвращает QVariant() (т.е., недействительный вариант).

См. также KnownHeaders, rawHeader() и setHeader().

int QNetworkRequest::maximumRedirectsAllowed() const

Возвращает максимальное количество разрешённых перенаправлений для этого запроса.

Эта функция была введена в Qt 5.6.

См. также setMaximumRedirectsAllowed().

QObject *QNetworkRequest::originatingObject() const

Возвращает ссылку на объект, который инициировал этот запрос к сети; возвращает 0, если не задано или объект был уничтожен.

Эта функция была введена в Qt 4.6.

См. также setOriginatingObject().

Priority QNetworkRequest::priority() const

Возвращает приоритет этого запроса.

Эта функция была введена в Qt 4.7.

См. также setPriority().

QByteArray QNetworkRequest::rawHeader(const QByteArray &headerName) const

Возвращает сырой вид заголовка headerName. Если такой заголовок отсутствует, возвращается пустой QByteArray, что может быть неотличимо от заголовка, который присутствует, но не имеет содержимого (используйте hasRawHeader(), чтобы узнать, существует ли заголовок или нет).

Сырые заголовки можно установить с помощью setRawHeader() или setHeader().

См. также header() и setRawHeader().

QList<QByteArray> QNetworkRequest::rawHeaderList() const

Возвращает список всех сырых заголовков, заданных в этом запросе к сети. Список находится в порядке, в котором заголовки были установлены.

См. также hasRawHeader() и rawHeader().

void QNetworkRequest::setAttribute(Attribute code, const QVariant &value)

Устанавливает атрибут, связанный с кодом code, в значение value. Если атрибут уже задан, предыдущее значение отбрасывается. В частности, если value является некорректным QVariant, атрибут сбрасывается.

См. также attribute() и QNetworkRequest::Attribute.

void QNetworkRequest::setHeader(KnownHeaders header, const QVariant &value)

Устанавливает значение известного заголовка header в value, перезаписывая любые ранее установленные заголовки. Эта операция также устанавливает эквивалентный исходный HTTP-заголовок.

См. также KnownHeaders, setRawHeader(), и header().

void QNetworkRequest::setMaximumRedirectsAllowed(int maxRedirectsAllowed)

Устанавливает максимальное количество разрешенных редиректов для этого запроса в maxRedirectsAllowed.

Эта функция была добавлена в Qt 5.6.

См. также maximumRedirectsAllowed().

void QNetworkRequest::setOriginatingObject(QObject *object)

Позволяет установить ссылку на объект object, инициировавший запрос.

Например, Qt WebKit устанавливает объект-источник в QWebFrame, который инициировал запрос.

Эта функция была добавлена в Qt 4.6.

См. также originatingObject().

void QNetworkRequest::setPriority(Priority priority)

Устанавливает приоритет этого запроса в priority.

Примечание: priority является лишь подсказкой для менеджера сетевого доступа. Он может её использовать или нет. В настоящее время он используется для HTTP, чтобы определить, какой запрос должен быть отправлен серверу в первую очередь.

Эта функция была добавлена в Qt 4.7.

См. также priority().

void QNetworkRequest::setRawHeader(const QByteArray &headerName, const QByteArray &headerValue)

Устанавливает заголовок headerName со значением headerValue. Если headerName соответствует известному заголовку (см. QNetworkRequest::KnownHeaders), формат будет распарсен, и соответствующий "готовый" заголовок также будет установлен.

Например:

request.setRawHeader(QByteArray("Last-Modified"), QByteArray("Sun, 06 Nov 1994 08:49:37 GMT"));

также установит известный заголовок LastModifiedHeader в объект QDateTime распарсенной даты.

Примечание: Установка того же заголовка дважды перезаписывает предыдущее значение. Чтобы достичь поведения нескольких HTTP-заголовков с одинаковым именем, следует конкатенировать два значения, разделив их запятой (",") и установить один единственный исходный заголовок.

См. также KnownHeaders, setHeader(), hasRawHeader(), и rawHeader().

void QNetworkRequest::setSslConfiguration(const QSslConfiguration &config)

Устанавливает SSL-конфигурацию этого сетевого запроса в config. Применяемые настройки — это закрытый ключ, локальный сертификат, SSL-протокол (SSLv2, SSLv3, TLSv1.0, если применимо), сертификаты CA и шифры, которые может использовать SSL-бекенд.

По умолчанию SSL-конфигурация не установлена, что позволяет бэкендам свободно выбирать наиболее подходящую конфигурацию.

См. также sslConfiguration() и QSslConfiguration::defaultConfiguration().

void QNetworkRequest::setUrl(const QUrl &url)

Устанавливает URL, к которому относится этот сетевой запрос, в url.

См. также url().

QSslConfiguration QNetworkRequest::sslConfiguration() const

Возвращает SSL-конфигурацию этого сетевого запроса. По умолчанию SSL-настройки не указаны.

См. также setSslConfiguration().

void QNetworkRequest::swap(QNetworkRequest &other)

Обменивается этим сетевым запросом с other. Эта функция очень быстрая и никогда не терпит неудачу.

Эта функция была добавлена в Qt 5.0.

QUrl QNetworkRequest::url() const

Возвращает URL, к которому относится этот сетевой запрос.

См. также setUrl().

bool QNetworkRequest::operator!=(const QNetworkRequest &other) const

Возвращает false если этот объект не идентичен other.

См. также operator==().

QNetworkRequest &QNetworkRequest::operator=(QNetworkRequest &&other)

Оператор перемещающего присваивания.

QNetworkRequest &QNetworkRequest::operator=(const QNetworkRequest &other)

Создаёт копию other

bool QNetworkRequest::operator==(const QNetworkRequest &other) const

Возвращает true если этот объект идентичен other (т.е., если у них одинаковый URL, заголовки и настройки метаданных).

См. также operator!=().

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

Spec-Zone.ru

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