Описание класса QNetworkReplyКласс QNetworkReply содержит данные и заголовки для запроса, отправленного с помощью QNetworkAccessManager Далее... #include <QNetworkReply> Унаследован от: QIODevice. Замечание: Все функции в этом классе реентерабельны. Этот класс был введён в Qt 4.4. Открытые типы
Открытые функции
Переопределённые открытые функции
Открытые слоты
Сигналы
Защищенные функции
Дополнительные унаследованные членыПодробное описаниеКласс QNetworkReply содержит данные и заголовки для запроса, отправленного с помощью QNetworkAccessManager Класс QNetworkReply содержит данные и метаданные, связанные с размещённым с помощью QNetworkAccessManager запросом. Как QNetworkRequest, он содержит URL и заголовки (как в обработанном, так и исходном виде), некоторую информацию о состоянии ответа и содержимое самого ответа. QNetworkReply это устройство QIODevice с последовательным доступом, что означает, что означает, что после того как данные однажды прочитаны с устройства, они больше в нём не хранятся. Поэтому приложение должно заботиться о сохранении этих данный, если они ему нужны. Когда из сети ещё приходят и обрабатываются данные, вырабатывается сигнал readyRead(). Сигнал downloadProgress() также вырабатывается когда получаются данные, но число содержащихся в нём данных может не совпадать с числом реально полученных данных в случае, когда с содержимым происходит преобразование (например, разархивирование и удаление служебной информации протокола). Хотя QNetworkReply это QIODevice, соединённое с содержимым ответа, он также вырабатывает сигнал uploadProgress(), который отображает выполнение загрузки для операций, которые имеют загружаемую информацию. Замечание: Не удаляйте объект в слоте, соединенный с сигналом error() или finished(). Используйте deleteLater(). Смотрите также QNetworkRequest и QNetworkAccessManager. Описание типов-членовenum QNetworkReply::NetworkErrorОтражает все возможные ошибки, найденные при обработке запроса.
Смотрите также error(). typedef QNetworkReply::RawHeaderPairRawHeaderPair - это QPair<QByteArray, QByteArray>, где первый QByteArray является именем заголовка, а второй - заголовком. Описание функций-членовQNetworkReply::QNetworkReply ( QObject * parent = 0 ) [protected]Создаёт объект QNetworkReply с родителем parent. Вы не можете сами создавать объекты QNetworkReply. Чтобы сделать это, используйте функции QNetworkAccessManager. QNetworkReply::~QNetworkReply ()Уничтожает этот запрос и удаляется все связанные с ним ресурсы. Если все еще есть открытые сетевые соединения, они будут закрыты. Смотрите также abort() и close(). void QNetworkReply::abort () [pure virtual]Немедленно отменяем операцию и закрывает все открытые сетевые соединения. Если есть текущие загрузки на сервер, они также отменяются. Смотрите также close(). QVariant QNetworkReply::attribute ( QNetworkRequest::Attribute code ) constВозвращает свойство, связанное с кодом code. Если свойство не было установлено, возвращается недействительный QVariant (тип QVariant::Null). Вы можете ожидать что значения по умолчанию, перечисленные в QNetworkRequest::Attribute, будут прибавлены к свойствам, возвращённым этой функцией. Смотрите также setAttribute() и QNetworkRequest::Attribute. void QNetworkReply::close () [virtual]Переопределено из QIODevice::close(). Закрывает это устройство для чтения. Несчитанные данные сбрасываются, но сетевые ресурсы сохраняются, пока они нужны. В частности, если в текущий момент есть загрузка на сервер, она продолжится пока сама не завершится. Когда все операции завершены и сетевые ресурсы освобождены, вырабатывается сигнал finished(). Смотрите также abort() и finished(). void QNetworkReply::downloadProgress ( qint64 bytesReceived, qint64 bytesTotal ) [signal]Этот сигнал вырабатывается для отображения прогресса скачивания этого сетевого запроса, если есть загрузки. Если нет загрузок, связанные с этим запросом, этот сигнал будет выработан один раз с 0 в качестве значения как bytesReceived, так и bytesTotal. Параметр bytesReceived отображает число полученных байт, а bytesTotal отображает число байт, которое планируется скачать. Если число байт для скачивания не известно, bytesTotal будет равно -1. Загрузка будет завершена когда bytesReceived станет равно bytesTotal. В этот момент bytesTotal не будет равен -1. Заметьте, что значения как bytesReceived, так и bytesTotal могут отличаться от size(), общего числа байт, полученного через read() или readAll(), или значения header(ContentLengthHeader). Это происходит из-за дополнительных служебных данных протокола или компрессии данных при скачивании. Смотрите также uploadProgress() и bytesAvailable(). NetworkError QNetworkReply::error () constВозвращает ошибку, которая произошла во время обработки этого запроса. Если ошибок не было, возвращает NoError. Смотрите также setError(). void QNetworkReply::error ( QNetworkReply::NetworkError code ) [signal]Этот сигнал вырабатывается когда при обработке ответа обнаруживается ошибка. Скорее всего за ним последует сигнал finished(), указывая что это соединение завершено. Параметр code содержит код обнаруженной ошибки. Вызовите errorString() чтобы получить текстовое представление этой ошибки. Замечание: Не удаляйте объект в слоте, соединенным с этим сигналом. Используйте deleteLater(). Смотрите также error() и errorString(). void QNetworkReply::finished () [signal]Этот сигнал вырабатывается когда заканчивается обработка ответа. После выработки данного сигнала, данные и метаданные ответа обновляться не будут. Если close() не был вызван, ответ будет открыт для чтения, так что данные могут быть получены с помощью read() или readAll(). В частности, если не было вызовов read() в при обработке readyRead(), вызов readAll() вернёт все данные полностью в QByteArray. Этот сигнал вырабатывается вместе с QNetworkAccessManager::finished() в котором параметр reply указывает на этот объект. Замечание: Не удаляйте объект в слоте, соединенным с этим сигналом. Используйте deleteLater(). Вы также можете использовать isFinished() для проверки завершена ли QNetworkReply ещё до получения сигнала finished(). Смотрите также QNetworkAccessManager::finished() и isFinished(). 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 () [virtual slot]Если эта функция вызвана, то ошибки SSL, связанные с сетевым соединением, включая ошибки проверки сертификата, будут игнорированны. Заметьте, что постоянный вызов этой функции может подвергнуть ваше приложение угрозе безопасности. Используйте её с осторожностью. Эта функция может быть вызвана из слота, соединённого с сигналом sslErrors(), который указывает какие ошибки были найдены. Смотрите также sslConfiguration(), sslErrors() и QSslSocket::ignoreSslErrors(). void QNetworkReply::ignoreSslErrors ( const QList<QSslError> & errors )Это перегруженная функция. Если вызывается эта функция, ошибки SSL данные в errors будут игнорироваться. Обратите внимание на то, что вы можете установить ожидаемый сертификат в ошибке SSL: Если, например, вы хотите выпускать запрос серверу об использовании самостоятельно подписанного (self-signed) сертификата, рассматривается в следующем фрагменте: 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); // здесь соединяем сигналы и т.д. Множественные вызовы этой функции затирает список ошибок, которые произошли в предыдущих вызовах. Вы можете очистить список ошибок если хотите игнорировать вызов этой функции с пустым списком. Эта функция была введена в Qt 4.6. Смотрите также sslConfiguration(), sslErrors() и QSslSocket::ignoreSslErrors(). bool QNetworkReply::isFinished () constВозвращает true когда ответ завершился или был прерван. Эта функция была введена в Qt 4.6. Смотрите также isRunning(). bool QNetworkReply::isRunning () constВозвращает true когда продолжается обработка ответа и ответ еще не завершен или был прерван. Эта функция была введена в Qt 4.6. Смотрите также isFinished(). QNetworkAccessManager * QNetworkReply::manager () constВозвращает QNetworkAccessManager, который был использован для создания этого объекта QNetworkReply. Это также родительский объект. void QNetworkReply::metaDataChanged () [signal]Этот сигнал вырабатывается когда метаданные в этом ответе изменяются. Метаданные это любая информация, которая не является содержимым (данными), включая сетевые заголовки. В большинстве случаев, метаданные будут полностью известны к моменту получения первого байта данных. Тем не менее, возможно получение обновления заголовков или других метаданных во время обработки данных. Смотрите также header(), rawHeaderList(), rawHeader() и hasRawHeader(). 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<RawHeaderPair> & QNetworkReply::rawHeaderPairs () constВозвращает список пар сырого заголовка. qint64 QNetworkReply::readBufferSize () constВозвращает размер буфера чтения в байтах. Смотрите также setReadBufferSize(). QNetworkRequest QNetworkReply::request () constВозвращает запрос, который был размещён для этого ответа. В частности, заметьте, что URL для запроса может отличаться от находящегося в ответе. Смотрите также QNetworkRequest::url(), url() и setRequest(). void QNetworkReply::setAttribute ( QNetworkRequest::Attribute code, const QVariant & value ) [protected]Устанавливает свойство code равным value. Если code был установлен ранее, он будет перезаписан. Если value это недействительный QVariant, свойство будет удалено. Смотрите также attribute() и QNetworkRequest::setAttribute(). void QNetworkReply::setError ( NetworkError errorCode, const QString & errorString ) [protected]Устанавливает ошибку равной errorCode. Сообщение в форме, пригодной для чтения, устанавливается с помощью errorString. Вызов setError() не вырабатывает сигнал error(QNetworkReply::NetworkError). Смотрите также error() и errorString(). void QNetworkReply::setHeader ( QNetworkRequest::KnownHeaders header, const QVariant & value ) [protected]Устанавливает известный заголовок header равным value. Соответствующая необработанная форма заголовка будет также установлена. Смотрите также header(), setRawHeader() и QNetworkRequest::setHeader(). void QNetworkReply::setOperation ( QNetworkAccessManager::Operation operation ) [protected]Устанавливает связанную операцию для этого объекта равной operation. Это значение будет возвращено функцией operation(). Замечание: операция должна быть установлена когда объект создан и больше не изменится. Смотрите также operation() и setRequest(). void QNetworkReply::setRawHeader ( const QByteArray & headerName, const QByteArray & value ) [protected]Устанавливает необработанный заголовок headerName равным value. Если headerName был установлен ранее, он будет перезаписан. Несколько HTTP заголовков с одним именем функционально равны одному заголовку с объединёнными значениями, разделёнными запятыми. Если headerName совпадает с известным заголовком, значение value будет обработано, и соответствующая обработанная форма будет также установлена. Смотрите также rawHeader(), header(), setHeader() и QNetworkRequest::setRawHeader(). void QNetworkReply::setReadBufferSize ( qint64 size ) [virtual]Устанавливает размер буфера для чтения равным size байтов. Буфер чтения это буфер, который содержит данные, скачанные из сети, прежде чем они прочитаны с помощью QIODevice::read(). Установка размера буфера равного 0 делает буфер неограниченного размера. QNetworkReply будет пытаться прекратить читать данные из сети после того, как буфер заполнится (т.е. bytesAvailable() вернёт size или больше), что также вызывает замедление скачивания. Если буфер не ограничен в размере, QNetworkReply будет пытаться скачивать из сети так быстро, насколько это возможно. В отличие от QAbstractSocket::setReadBufferSize(), QNetworkReply не может гарантировать точность размера буфера чтения. Таким образом, bytesAvailable() может вернуть больше чем size. Смотрите также readBufferSize(). void QNetworkReply::setRequest ( const QNetworkRequest & request ) [protected]Устанавливает связанный запрос для этого ответа равным request. Это значение будет возвращено функцией request(). Замечание: запрос должен быть установлен когда объект создан и больше не изменится. Смотрите также request() и setOperation(). void QNetworkReply::setSslConfiguration ( const QSslConfiguration & config )Если возможно, устанавливает конфигурацию SSL для сетевого соединения, связанного с этим запросом равной config. Смотрите также sslConfiguration(). void QNetworkReply::setUrl ( const QUrl & url ) [protected]Устанавливает URL, который будет обработан, равным url. Обычно URL совпадает с тем, что указан в размещённом запросе, но по различным причинам он может отличаться (например, путь файла может быть абсолютным или относительным). Смотрите также url(), request() и QNetworkRequest::url(). QSslConfiguration QNetworkReply::sslConfiguration () constВозвращает конфигурацию и состояние SSL, связанные с этим ответом, если SSL был использован. Она содержит сертификат удалённого сервера, его цепь сертификатов, ведущую к центру сертификации, а также используемые шифры шифрования. Сертификат участника и его цепь сертификатов будут известны к моменту вырабатывания сигнала sslErrors(), если он будет выработан. Смотрите также setSslConfiguration(). void QNetworkReply::sslErrors ( const QList<QSslError> & errors ) [signal]Этот сигнал вырабатывается если сессия SSL/TLS сталкивается с ошибкой в момент установки, включая ошибки проверки сертификатов. Параметр errors содержит список ошибок. Для указания того, что эти ошибки не фатальны и что соединение должно быть продолжено, функция ignoreSslErrors() должна быть вызвана из слота, соединённого с сигналом. Если она не будет вызвана, сессия SSL будет сброшена перед любым обменом данных (включая URL). Этот сигнал может быть использован для отображения сообщения об ошибке пользователю, указывая что безопасность может быть скомпрометирована и отобразить настройки SSL (для её получения смотрите sslConfiguration()). Если пользователь после анализа сертификата удалённой стороны решает продолжить соединение, слот должен вызвать ignoreSslErrors(). Смотрите также QSslSocket::sslErrors(), QNetworkAccessManager::sslErrors(), sslConfiguration() и ignoreSslErrors(). void QNetworkReply::uploadProgress ( qint64 bytesSent, qint64 bytesTotal ) [signal]Этот сигнал вырабатывается для отображения прогресса закачивания на сервер этого сетевого запроса, если есть загрузки. Если у этого запроса нет связанного с ним закачивания на вервер, этот сигнал не будет выработан. Параметр bytesSent отображает число отправленный байт, а bytesTotal отображает число байт, которое планируется отправить. Если число байт для отправления не может быть определено, bytesTotal будет равно -1. Загрузка на сервер будет завершена когда bytesSent станет равно bytesTotal. В этот момент bytesTotal не будет равен -1. Смотрите также downloadProgress(). QUrl QNetworkReply::url () constВозвращает URL скачиваемого или загружаемого на сервер содержимого. Заметьте, что этот URL может отличаться от того, что указан в оригинальном запросе. Смотрите также request(), setUrl() и QNetworkRequest::url(). |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |