Класс QNetworkReply
Класс QNetworkReply содержит данные и заголовки для запроса, отправленного с помощью QNetworkAccessManager. Подробнее...
| Заголовок: | #include <QNetworkReply> |
| CMake: | find_package(Qt6 COMPONENTS Network REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Network) |
| qmake: | QT += network |
| Наследует: | QIODevice |
Примечание: Все функции в этом классе являются повторно входящими.
Открытые типы
| перечисление | NetworkError { НетОшибок, ОшибкаОтказаВПодключении, ОшибкаЗакрытияУдаленногоХоста, ОшибкаНеНайденХоста, ОшибкаТаймаута, …, ОшибкаНеизвестнойСервернойОшибки } |
| 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 |
Открытые слоты
| виртуальный 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) |
Защищенные функции
| 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-адрес и заголовки (в парсируемой и необработанной форме), некоторую информацию о состоянии ответа и содержимое самого ответа.
END_OF_DOCUMENT_MARKERQNetworkReply — это устройство последовательного доступа 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-взаимодействия, и зашифрованный канал не может быть установлен. Должен был быть испущен сигнал 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()
Удаляет этот ответ и освобождает все ресурсы, связанные с ним. Если какие-либо сетевые соединения всё ещё открыты, они будут закрыты.
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.
После установки данных ответа не должны изменяться.
См. также 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.1/qnetworkreply.html