Spec-Zone.ru › Qt

Класс QNetworkReply

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

Заголовок: #include <QNetworkReply>
CMake: find_package(Qt6 COMPONENTS Network REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake: QT += network
Наследуется от: QIODevice
  • Список всех членов, включая наследуемые

Примечание: Все функции в этом классе являются повторно входящими.

Открытые типы

Перечисление NetworkError { NoError, ConnectionRefusedError, RemoteHostClosedError, HostNotFoundError, TimeoutError, …, UnknownServerError }
RawHeaderPair

Открытые функции

виртуальный ~QNetworkReply()
QVariant attribute(QNetworkRequest::Attribute code) const
QNetworkReply::NetworkError error() const
bool hasRawHeader(const QByteArray &headerName) const
QVariant header(QNetworkRequest::KnownHeaders header) const
void ignoreSslErrors(const QList<QSslError> &errors)
bool isFinished() const
bool isRunning() const
QNetworkAccessManager * manager() const
QNetworkAccessManager::Operation operation() const
QByteArray rawHeader(const QByteArray &headerName) const
QList<QByteArray> rawHeaderList() const
const QList<QNetworkReply::RawHeaderPair> & rawHeaderPairs() const
qint64 readBufferSize() const
QNetworkRequest request() const
виртуальный void setReadBufferSize(qint64 size)
void setSslConfiguration(const QSslConfiguration &config)
QSslConfiguration sslConfiguration() const
QUrl url() const

Переопределённые открытые функции

виртуальный void close() override

Public Slots

виртуальный void abort() = 0
виртуальный void ignoreSslErrors()

Сигналы

void downloadProgress(qint64 bytesReceived, qint64 bytesTotal)
void encrypted()
void errorOccurred(QNetworkReply::NetworkError code)
void finished()
void metaDataChanged()
void preSharedKeyAuthenticationRequired(QSslPreSharedKeyAuthenticator *authenticator)
void redirectAllowed()
void redirected(const QUrl &url)
void sslErrors(const QList<QSslError> &errors)
void uploadProgress(qint64 bytesSent, qint64 bytesTotal)

Protected Functions

QNetworkReply(QObject *parent = nullptr)
виртуальный void ignoreSslErrorsImplementation(const QList<QSslError> &errors)
void setAttribute(QNetworkRequest::Attribute code, const QVariant &value)
void setError(QNetworkReply::NetworkError errorCode, const QString &errorString)
void setFinished(bool finished)
void setHeader(QNetworkRequest::KnownHeaders header, const QVariant &value)
void setOperation(QNetworkAccessManager::Operation operation)
void setRawHeader(const QByteArray &headerName, const QByteArray &value)
void setRequest(const QNetworkRequest &request)
виртуальный void setSslConfigurationImplementation(const QSslConfiguration &configuration)
void setUrl(const QUrl &url)
виртуальный void sslConfigurationImplementation(QSslConfiguration &configuration) const

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

Класс QNetworkReply содержит данные и метаданные, связанные с запросом, отправленным с помощью QNetworkAccessManager. Как и QNetworkRequest, он содержит URL и заголовки (в парсированном и сыром виде), некоторую информацию о состоянии ответа и содержимое самого ответа.

QNetworkReply — это устройство последовательного доступа QIODevice, а это значит, что после того, как данные были считаны из объекта, устройство их больше не хранит. Поэтому приложение само отвечает за сохранение этих данных, если они необходимы. Каждый раз, когда с сети принимаются и обрабатываются новые данные, испускается сигнал readyRead().

Сигнал downloadProgress() также испускается при получении данных, но количество байтов в нем может не соответствовать фактически полученным байтам, если к содержимому применяются какие-либо преобразования (например, декомпрессия и удаление служебной информации протокола).

Хотя QNetworkReply — это QIODevice, подключенное к содержимому ответа, оно также испускает сигнал uploadProgress(), который указывает на ход загрузки для операций, имеющих такое содержимое.

Примечание: Не удаляйте объект в слоте, подключенном к сигналу errorOccurred() или finished(). Используйте deleteLater().

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

Описание типов элементов

enum QNetworkReply::NetworkError

Указывает все возможные ошибки, обнаруженные во время обработки запроса.

Константа Значение Описание
QNetworkReply::NoError 0 отсутствие ошибок.

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

Константа Значение Описание
QNetworkReply::ConnectionRefusedError 1 удаленный сервер отклонил соединение (сервер не принимает запросы)
QNetworkReply::RemoteHostClosedError 2 удаленный сервер преждевременно закрыл соединение, до того как весь ответ был получен и обработан
QNetworkReply::HostNotFoundError 3 удаленное имя хоста не найдено (недопустимое имя хоста)
QNetworkReply::TimeoutError 4 превышено время ожидания соединения с удаленным сервером
QNetworkReply::OperationCanceledError 5 операция была отменена с помощью вызовов abort() или close() до ее завершения.
QNetworkReply::SslHandshakeFailedError 6 произошла ошибка SSL/TLS-handshake, и зашифрованный канал не может быть установлен. Должен был быть испущен сигнал sslErrors().
QNetworkReply::TemporaryNetworkFailureError 7 соединение было разорвано из-за разрыва сетевого соединения, однако система инициировала роуминг в другую точку доступа. Запрос должен быть отправлен повторно и будет обработан, как только соединение будет восстановлено.
QNetworkReply::NetworkSessionFailedError 8 соединение было разорвано из-за разрыва сетевого соединения или сбоя при запуске сети.
QNetworkReply::BackgroundRequestNotAllowedError 9 фоновый запрос в настоящее время не разрешен из-за политики платформы.
QNetworkReply::TooManyRedirectsError 10 при перенаправлении был достигнут максимальный предел. По умолчанию предел установлен на 50 или как задано в QNetworkRequest::setMaxRedirectsAllowed(). (Это значение было введено в версии 5.6.)
QNetworkReply::InsecureRedirectError 11 при перенаправлении API доступа к сети обнаружил перенаправление с зашифрованного протокола (https) на незашифрованный (http). (Это значение было введено в версии 5.6.)
QNetworkReply::ProxyConnectionRefusedError 101 соединение с прокси-сервером было отклонено (прокси-сервер не принимает запросы)
QNetworkReply::ProxyConnectionClosedError 102 прокси-сервер преждевременно закрыл соединение, до того как весь ответ был получен и обработан
QNetworkReply::ProxyNotFoundError 103 имя хоста прокси не найдено (недопустимое имя хоста прокси)
QNetworkReply::ProxyTimeoutError 104 превышено время ожидания соединения с прокси или прокси не ответил вовремя на отправленный запрос
QNetworkReply::ProxyAuthenticationRequiredError 105 прокси требует аутентификации для выполнения запроса, но не принял ни одного предложенного (если таковые были) учетных данных
QNetworkReply::ContentAccessDenied 201 доступ к удаленному контенту был запрещен (аналогично ошибке HTTP 403)
QNetworkReply::ContentOperationNotPermittedError 202 запрошенная операция над удаленным контентом не разрешена
QNetworkReply::ContentNotFoundError 203 удаленный контент не найден на сервере (аналогично ошибке HTTP 404)
QNetworkReply::AuthenticationRequiredError 204 удаленный сервер требует аутентификации для предоставления контента, но предоставленные учетные данные не были приняты (если таковые были)
QNetworkReply::ContentReSendError 205 запрос нужно было отправить повторно, но это не удалось, например, потому что данные загрузки не могут быть считаны второй раз.
QNetworkReply::ContentConflictError 206 запрос не может быть выполнен из-за конфликта с текущим состоянием ресурса.
QNetworkReply::ContentGoneError 207 запрошенный ресурс больше не доступен на сервере.
QNetworkReply::InternalServerError 401 на сервере возникли непредвиденные условия, которые помешали ему выполнить запрос.
QNetworkReply::OperationNotImplementedError 402 сервер не поддерживает функциональность, необходимую для выполнения запроса.
QNetworkReply::ServiceUnavailableError 403 сервер не может обработать запрос в данный момент.
QNetworkReply::ProtocolUnknownError 301 API доступа к сети не может выполнить запрос, потому что протокол неизвестен
QNetworkReply::ProtocolInvalidOperationError 302 запрошенная операция недопустима для этого протокола
QNetworkReply::UnknownNetworkError 99 обнаружена неизвестная ошибка, связанная с сетью
QNetworkReply::UnknownProxyError 199 обнаружена неизвестная ошибка, связанная с прокси
QNetworkReply::UnknownContentError 299 обнаружена неизвестная ошибка, связанная с удаленным контентом
QNetworkReply::ProtocolFailure 399 обнаружен сбой протокола (ошибка синтаксического анализа, недопустимые или неожиданные ответы и т. д.)
QNetworkReply::UnknownServerError 499 обнаружена неизвестная ошибка, связанная с ответом сервера

См. также error() и errorOccurred().

QNetworkReply::RawHeaderPair

RawHeaderPair — это QPair<QByteArray, QByteArray>, где первый QByteArray — это имя заголовка, а второй — заголовок.

Описание функций-членов

[protected] QNetworkReply::QNetworkReply(QObject *parent = nullptr)

Создает объект QNetworkReply с родителем parent.

Вы не можете напрямую создавать экземпляры объектов QNetworkReply. Для этого используйте функции QNetworkAccessManager.

[pure virtual slot] void QNetworkReply::abort()

Немедленно прерывает операцию и закрывает все открытые сетевые соединения. Загрузки, которые все еще выполняются, также прерываются.

Сигнал finished() также будет испущен.

См. также close() и finished().

[signal] void QNetworkReply::downloadProgress(qint64 bytesReceived, qint64 bytesTotal)

Этот сигнал излучается для указания прогресса загрузки части этого сетевого запроса, если таковой имеется. Если загрузка не связана с этим запросом, этот сигнал будет выпущен один раз со значением 0 для обоих параметров bytesReceived и bytesTotal.

Параметр bytesReceived указывает количество полученных байтов, в то время как bytesTotal указывает общее количество ожидаемых байтов для загрузки. Если количество байтов для загрузки неизвестно, bytesTotal будет -1.

Загрузка завершена, когда bytesReceived равно bytesTotal. В этот момент bytesTotal не будет -1.

Обратите внимание, что значения как bytesReceived, так и bytesTotal могут отличаться от size(), общего количества байтов, полученных через read() или readAll(), или значения заголовка (ContentLengthHeader). Причина в том, что может быть накладные расходы протокола или данные могут быть сжаты во время загрузки.

См. также uploadProgress() и bytesAvailable().

[signal, since 5.1] void QNetworkReply::encrypted()

Этот сигнал излучается, когда сессия SSL/TLS успешно завершила начальный обмен данными. В этот момент никакие данные пользователя не были переданы. Сигнал может использоваться для выполнения дополнительных проверок цепочки сертификатов, например, для уведомления пользователей, когда сертификат веб-сайта изменился. Если ответ не соответствует ожидаемым критериям, его следует прервать, вызвав QNetworkReply::abort() в слоте, подключенном к этому сигналу. Используемая конфигурация SSL может быть просмотрена с помощью метода QNetworkReply::sslConfiguration().

Внутренне, QNetworkAccessManager может открывать несколько соединений с сервером, чтобы позволить обработку запросов параллельно. Эти соединения могут быть повторно использованы, что означает, что сигнал encrypted() не будет излучаться. Это означает, что вы гарантируете получение этого сигнала только для первого соединения с сайтом в течение срока службы QNetworkAccessManager.

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

См. также QSslSocket::encrypted() и QNetworkAccessManager::encrypted().

[signal, since 5.15] void QNetworkReply::errorOccurred(QNetworkReply::NetworkError code)

Этот сигнал излучается, когда ответ обнаруживает ошибку в обработке. Сигнал finished() будет, вероятно, последовать, указывая, что соединение завершено.

Параметр code содержит код ошибки, который был обнаружен. Вызовите errorString(), чтобы получить текстовое представление состояния ошибки.

Примечание: Не удаляйте объект в слоте, подключенном к этому сигналу. Используйте deleteLater().

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

См. также error() и errorString().

[signal] void QNetworkReply::finished()

Этот сигнал излучается, когда обработка ответа завершена. После излучения этого сигнала больше не будет обновлений данных или метаданных ответа.

Если не были вызваны close() или abort(), ответ по-прежнему будет открыт для чтения, поэтому данные могут быть получены вызовами read() или readAll(). В частности, если вызовы read() не были выполнены в результате readyRead(), вызов readAll() извлечёт полное содержимое в QByteArray.

Этот сигнал излучается вместе с QNetworkAccessManager::finished(), где параметр reply этого сигнала — этот объект.

Примечание: Не удаляйте объект в слоте, подключенном к этому сигналу. Используйте deleteLater().

Вы также можете использовать isFinished() для проверки завершения QNetworkReply, даже прежде, чем вы получите сигнал finished().

См. также setFinished(), QNetworkAccessManager::finished() и isFinished().

[virtual slot] void QNetworkReply::ignoreSslErrors()

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

Предупреждение: Убедитесь, что пользователь всегда может проверить ошибки, сообщаемые сигналом sslErrors(), и вызывайте эту функцию только после подтверждения пользователем, что продолжение допустимо. Если возникнут непредвиденные ошибки, ответ следует прервать. Вызов этой функции без проверки фактических ошибок, скорее всего, создаст риск безопасности для вашего приложения. Используйте её с большой осторожностью!

Эта функция может вызываться из слота, подключенного к сигналу sslErrors(), который указывает, какие ошибки были обнаружены.

Примечание: Если HTTP Strict Transport Security включён для QNetworkAccessManager, эта функция не имеет эффекта.

См. также sslConfiguration(), sslErrors() и QSslSocket::ignoreSslErrors().

[signal] void QNetworkReply::metaDataChanged()

Этот сигнал излучается всякий раз, когда метаданные в этом ответе меняются. Метаданные — это любая информация, которая не является самим содержимым (данными), включая сетевые заголовки. В большинстве случаев метаданные будут полностью известны к моменту получения первого байта данных. Однако возможно получать обновления заголовков или других метаданных во время обработки данных.

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

[signal, since 5.5] void QNetworkReply::preSharedKeyAuthenticationRequired(QSslPreSharedKeyAuthenticator *authenticator)

Этот сигнал излучается, если обмен данными SSL/TLS согласуется с шифрованием PSK, а значит, требуется аутентификация PSK.

При использовании PSK клиент должен отправить серверу действительный идентификатор и действительный предварительно согласованный ключ для продолжения рукопожатия SSL. Приложения могут предоставить эту информацию в слоте, подключённом к этому сигналу, заполнив переданный объект authenticator в соответствии со своими потребностями.

Примечание: Игнорирование этого сигнала или отсутствие предоставления необходимых учетных данных приведёт к сбою рукопожатия, а следовательно, к прерыванию соединения.

Примечание: Объект authenticator принадлежит ответу и не должен удаляться приложением.

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

См. также QSslPreSharedKeyAuthenticator.

[signal, since 5.9] void QNetworkReply::redirectAllowed()

Когда клиентский код, обрабатывающий сигнал redirected(), проверил новый URL, он излучает этот сигнал, чтобы разрешить переадресацию. Этот протокол применяется к сетевым запросам, политика переадресации которых установлена как QNetworkRequest::UserVerifiedRedirectPolicy

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

См. также QNetworkRequest::UserVerifiedRedirectPolicy, QNetworkAccessManager::setRedirectPolicy() и QNetworkRequest::RedirectPolicyAttribute.

[signal, since 5.6] void QNetworkReply::redirected(const QUrl &url)

Этот сигнал излучается, если для запроса была установлена политика переадресации QNetworkRequest::ManualRedirectPolicy, а сервер ответил кодом статуса 3xx (в частности, 301, 302, 303, 305, 307 или 308) со ссылкой на действительный URL в заголовке Location, указывающем на переадресацию HTTP. Параметр url содержит новый URL переадресации, возвращённый сервером в заголовке Location.

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

См. также QNetworkRequest::RedirectPolicy.

[signal] void QNetworkReply::sslErrors(const QList<QSslError> &errors)

Этот сигнал излучается, если сессия SSL/TLS столкнулась с ошибками во время установки, включая ошибки проверки сертификатов. Параметр errors содержит список ошибок.

Чтобы указать, что ошибки не являются критическими и что соединение должно продолжить работу, функция ignoreSslErrors() должна вызываться из слота, подключенного к этому сигналу. Если этого не сделать, сессия SSL будет разорвана до обмена любыми данными (включая URL).

Этот сигнал может быть использован для отображения сообщения об ошибке пользователю, указывающего на то, что безопасность может быть скомпрометирована, и отображения настроек SSL (см. sslConfiguration() для получения настроек). Если пользователь решит продолжить после анализа удалённого сертификата, слот должен вызвать ignoreSslErrors().

См. также QSslSocket::sslErrors(), QNetworkAccessManager::sslErrors(), sslConfiguration() и ignoreSslErrors().

[signal] void QNetworkReply::uploadProgress(qint64 bytesSent, qint64 bytesTotal)

Этот сигнал испускается для указания прогресса загрузки этого сетевого запроса, если таковой имеется. Если загрузка не связана с этим запросом, этот сигнал не будет испущен.

Параметр bytesSent указывает количество отправленных байтов, а bytesTotal — общее количество байтов для загрузки. Если количество байтов для загрузки определить невозможно, bytesTotal будет равно -1.

Загрузка завершается, когда bytesSent равно bytesTotal. В этот момент bytesTotal не будет равно -1.

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

[virtual] QNetworkReply::~QNetworkReply()

Удаляет этот ответ и освобождает все связанные с ним ресурсы. Если какие-либо сетевые подключения все ещё открыты, они будут закрыты.

См. также abort() и close().

QVariant QNetworkReply::attribute(QNetworkRequest::Attribute code) const

Возвращает атрибут, связанный с кодом code. Если атрибут не был задан, возвращается недействительный QVariant (тип QMetaType::UnknownType).

Вы можете ожидать применения значений по умолчанию, перечисленных в QNetworkRequest::Attribute, к возвращаемым значениям этой функции.

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

[override virtual] void QNetworkReply::close()

Переопределяет: QIODevice::close().

Закрывает это устройство для чтения. Непрочитанные данные отбрасываются, но сетевые ресурсы не отбрасываются до тех пор, пока они не завершены. В частности, если загрузка находится в процессе, она продолжится до завершения.

Сигнал finished() испускается, когда все операции завершены и сетевые ресурсы освобождены.

См. также abort() и finished().

QNetworkReply::NetworkError QNetworkReply::error() const

Возвращает ошибку, которая была обнаружена во время обработки этого запроса. Если ошибка не была обнаружена, возвращает NoError.

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

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

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

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

QVariant QNetworkReply::header(QNetworkRequest::KnownHeaders header) const

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

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

void QNetworkReply::ignoreSslErrors(const QList<QSslError> &errors)

Это перегруженная функция.

Если эта функция вызвана, ошибки SSL, указанные в errors, будут проигнорированы.

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

QList<QSslCertificate> cert = QSslCertificate::fromPath(QLatin1String("server-certificate.pem"));
QSslError error(QSslError::SelfSignedCertificate, cert.at(0));
QList<QSslError> expectedSslErrors;
expectedSslErrors.append(error);

QNetworkReply *reply = manager.get(QNetworkRequest(QUrl("https://server.tld/index.html")));
reply->ignoreSslErrors(expectedSslErrors);
// here connect signals etc.

Многократные вызовы этой функции заменят список ошибок, переданных в предыдущих вызовах. Вы можете очистить список ошибок, которые вы хотите проигнорировать, вызвав эту функцию со пустым списком.

Примечание: Если HTTP Strict Transport Security включен для QNetworkAccessManager, эта функция не имеет эффекта.

См. также sslConfiguration(), sslErrors(), QSslSocket::ignoreSslErrors() и QNetworkAccessManager::setStrictTransportSecurityEnabled().

[virtual protected, since 5.0] void QNetworkReply::ignoreSslErrorsImplementation(const QList<QSslError> &errors)

Этот виртуальный метод предоставляется для возможности переопределения поведения ignoreSslErrors(). ignoreSslErrors() — это общедоступная оболочка для этого метода. errors содержит ошибки, которые пользователь желает проигнорировать.

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

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

bool QNetworkReply::isFinished() const

Возвращает true когда ответ завершён или был прерван.

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

bool QNetworkReply::isRunning() const

Возвращает true когда запрос все ещё обрабатывается, а ответ ещё не завершён или не был прерван.

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

QNetworkAccessManager *QNetworkReply::manager() const

Возвращает QNetworkAccessManager, который использовался для создания объекта QNetworkReply. Изначально это также родительский объект.

QNetworkAccessManager::Operation QNetworkReply::operation() const

Возвращает операцию, которая была отправлена для этого ответа.

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

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

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

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

QList<QByteArray> QNetworkReply::rawHeaderList() const

Возвращает список полей заголовков, отправленных удалённым сервером в порядке их отправки. Повторяющиеся заголовки объединяются и занимают место последнего дубликата.

const QList<QNetworkReply::RawHeaderPair> &QNetworkReply::rawHeaderPairs() const

Возвращает список пар сырых заголовков.

qint64 QNetworkReply::readBufferSize() const

Возвращает размер буфера чтения в байтах.

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

QNetworkRequest QNetworkReply::request() const

Возвращает запрос, который был отправлен для этого ответа. Обратите внимание, что URL запроса может отличаться от URL ответа.

См. также QNetworkRequest::url(), url() и setRequest().

[protected] void QNetworkReply::setAttribute(QNetworkRequest::Attribute code, const QVariant &value)

Устанавливает атрибут code со значением value. Если code был ранее установлен, он будет перезаписан. Если value — недействительный QVariant, атрибут будет сброшен.

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

[protected] void QNetworkReply::setError(QNetworkReply::NetworkError errorCode, const QString &errorString)

Устанавливает состояние ошибки на errorCode. Читабельное сообщение устанавливается с помощью errorString.

Вызов setError() не испускает сигнал errorOccurred(QNetworkReply::NetworkError).

См. также error() и errorString().

[protected] void QNetworkReply::setFinished(bool finished)

Устанавливает ответ как завершенный.

После установки этого значения данные ответа больше не должны изменяться.

См. также finished() и isFinished().

[protected] void QNetworkReply::setHeader(QNetworkRequest::KnownHeaders header, const QVariant &value)

Устанавливает известный заголовок header со значением value. Соответствующая сырая форма заголовка также будет установлена.

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

[protected] void QNetworkReply::setOperation(QNetworkAccessManager::Operation operation)

Устанавливает связанную операцию для этого объекта в operation. Это значение будет возвращено методом operation().

Примечание: Операция должна быть установлена при создании этого объекта и больше не должна изменяться.

См. также operation() и setRequest().

[protected] void QNetworkReply::setRawHeader(const QByteArray &headerName, const QByteArray &value)

Устанавливает сырой заголовок headerName со значением value. Если headerName был ранее установлен, он перезаписывается. Несколько HTTP-заголовков с одинаковым именем функционально эквивалентны одному заголовку со значениями, соединёнными запятыми.

Если headerName соответствует известному заголовку, значение value будет обработано, и соответствующая обработанная форма также будет установлена.

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

[virtual] void QNetworkReply::setReadBufferSize(qint64 size)

Устанавливает размер буфера чтения в size байт. Буфер чтения — это буфер, который хранит данные, загружаемые из сети, прежде чем они будут прочитаны с помощью QIODevice::read(). Установка размера буфера в 0 сделает буфер неограниченным по размеру.

QNetworkReply попытается остановить чтение из сети, как только этот буфер заполнится (т. е., bytesAvailable() возвращает size или больше), что также приведет к снижению скорости загрузки. Если буфер не ограничен по размеру, QNetworkReply будет пытаться загружать данные из сети с максимальной скоростью.

В отличие от QAbstractSocket::setReadBufferSize(), QNetworkReply не может гарантировать точность размера буфера чтения. То есть, bytesAvailable() может возвращать значение больше, чем size.

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

[protected] void QNetworkReply::setRequest(const QNetworkRequest &request)

Устанавливает связанный запрос для этого объекта в request. Это значение будет возвращено методом request().

Примечание: Запрос должен быть установлен при создании этого объекта и больше не должен изменяться.

См. также request() и setOperation().

void QNetworkReply::setSslConfiguration(const QSslConfiguration &config)

Устанавливает конфигурацию SSL для сетевого соединения, связанного с этим запросом, если это возможно, в соответствии с config.

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

[virtual protected, since 5.0] void QNetworkReply::setSslConfigurationImplementation(const QSslConfiguration &configuration)

Этот виртуальный метод предоставляется для возможности переопределения поведения метода setSslConfiguration(). setSslConfiguration() — это общедоступная обертка для этого метода. При переопределении этого метода используйте configuration для установки конфигурации SSL.

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

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

[protected] void QNetworkReply::setUrl(const QUrl &url)

Устанавливает обрабатываемый URL в url. Обычно URL совпадает с URL запроса, который был отправлен, но по разным причинам он может отличаться (например, путь к файлу может быть преобразован в абсолютный или канонический).

См. также url(), request() и QNetworkRequest::url().

QSslConfiguration QNetworkReply::sslConfiguration() const

Возвращает конфигурацию и состояние SSL, связанные с этим ответом, если использовался SSL. Он будет содержать сертификат удалённого сервера, цепочку сертификатов, ведущую к центру сертификации, а также используемые криптографические шифры.

Сертификат и цепочка сертификатов удалённого узла будут известны к моменту выдачи сигнала sslErrors(), если он будет выдан.

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

[virtual protected, since 5.0] void QNetworkReply::sslConfigurationImplementation(QSslConfiguration &configuration) const

Этот виртуальный метод предоставляет возможность переопределения поведения метода sslConfiguration(). sslConfiguration() — это общедоступная обертка для этого метода. Конфигурация будет возвращена в configuration.

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

См. также setSslConfigurationImplementation() и sslConfiguration().

QUrl QNetworkReply::url() const

Возвращает URL загружаемого или загружаемого контента. Обратите внимание, что URL может отличаться от URL исходного запроса. Если перенаправления были включены в запросе, эта функция возвращает текущий URL, к которому обращается сетевой API, т. е. URL ресурса, к которому был перенаправлен запрос.

См. также request(), setUrl(), QNetworkRequest::url() и redirected().

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

Spec-Zone.ru

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