![]() |
Qt 6.x
The Qt SDK
|
The QNetworkReply class contains the data and headers for a request sent with QNetworkAccessManager. More...
#include <qnetworkreply.h>
Public Slots | |
virtual void | abort ()=0 |
Aborts the operation immediately and close down any network connections still open. | |
virtual void | ignoreSslErrors () |
If this function is called, SSL errors related to network connection will be ignored, including certificate validation errors. | |
![]() | |
void | deleteLater () |
\threadsafe | |
Signals | |
void | socketStartedConnecting () |
void | requestSent () |
void | metaDataChanged () |
\omit FIXME: Update name? \endomit | |
void | finished () |
This signal is emitted when the reply has finished processing. | |
void | errorOccurred (QNetworkReply::NetworkError) |
void | redirected (const QUrl &url) |
void | redirectAllowed () |
void | uploadProgress (qint64 bytesSent, qint64 bytesTotal) |
This signal is emitted to indicate the progress of the upload part of this network request, if there's any. | |
void | downloadProgress (qint64 bytesReceived, qint64 bytesTotal) |
This signal is emitted to indicate the progress of the download part of this network request, if there's any. | |
![]() | |
void | readyRead () |
This signal is emitted once every time new data is available for reading from the device's current read channel. | |
void | channelReadyRead (int channel) |
void | bytesWritten (qint64 bytes) |
This signal is emitted every time a payload of data has been written to the device's current write channel. | |
void | channelBytesWritten (int channel, qint64 bytes) |
void | aboutToClose () |
This signal is emitted when the device is about to close. | |
void | readChannelFinished () |
![]() | |
void | destroyed (QObject *=nullptr) |
This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked. | |
void | objectNameChanged (const QString &objectName, QPrivateSignal) |
This signal is emitted after the object's name has been changed. | |
Public Member Functions | |
~QNetworkReply () | |
Disposes of this reply and frees any resources associated with it. | |
virtual void | close () override |
Closes this device for reading. | |
virtual bool | isSequential () const override |
qint64 | readBufferSize () const |
Returns the size of the read buffer, in bytes. | |
virtual void | setReadBufferSize (qint64 size) |
Sets the size of the read buffer to be size bytes. | |
QNetworkAccessManager * | manager () const |
Returns the QNetworkAccessManager that was used to create this QNetworkReply object. | |
QNetworkAccessManager::Operation | operation () const |
Returns the operation that was posted for this reply. | |
QNetworkRequest | request () const |
Returns the request that was posted for this reply. | |
NetworkError | error () const |
Returns the error that was found during the processing of this request. | |
bool | isFinished () const |
bool | isRunning () const |
QUrl | url () const |
Returns the URL of the content downloaded or uploaded. | |
QVariant | header (QNetworkRequest::KnownHeaders header) const |
Returns the value of the known header header, if that header was sent by the remote server. | |
bool | hasRawHeader (const QByteArray &headerName) const |
Returns true if the raw header of name headerName was sent by the remote server. | |
QList< QByteArray > | rawHeaderList () const |
Returns a list of headers fields that were sent by the remote server, in the order that they were sent. | |
QByteArray | rawHeader (const QByteArray &headerName) const |
Returns the raw contents of the header headerName as sent by the remote server. | |
const QList< RawHeaderPair > & | rawHeaderPairs () const |
Returns a list of raw header pairs. | |
QVariant | attribute (QNetworkRequest::Attribute code) const |
Returns the attribute associated with the code code. | |
![]() | |
QIODevice () | |
Constructs a QIODevice object. | |
QIODevice (QObject *parent) | |
Constructs a QIODevice object with the given parent. | |
virtual | ~QIODevice () |
The destructor is virtual, and QIODevice is an abstract base class. | |
QIODeviceBase::OpenMode | openMode () const |
Returns the mode in which the device has been opened; i.e. | |
void | setTextModeEnabled (bool enabled) |
If enabled is true, this function sets the \l Text flag on the device; otherwise the \l Text flag is removed. | |
bool | isTextModeEnabled () const |
Returns true if the \l Text flag is enabled; otherwise returns false . | |
bool | isOpen () const |
Returns true if the device is open; otherwise returns false . | |
bool | isReadable () const |
Returns true if data can be read from the device; otherwise returns false. | |
bool | isWritable () const |
Returns true if data can be written to the device; otherwise returns false. | |
virtual bool | isSequential () const |
Returns true if this device is sequential; otherwise returns false. | |
int | readChannelCount () const |
int | writeChannelCount () const |
int | currentReadChannel () const |
void | setCurrentReadChannel (int channel) |
int | currentWriteChannel () const |
void | setCurrentWriteChannel (int channel) |
virtual bool | open (QIODeviceBase::OpenMode mode) |
Opens the device and sets its OpenMode to mode. | |
virtual void | close () |
First emits aboutToClose(), then closes the device and sets its OpenMode to NotOpen. | |
virtual qint64 | pos () const |
For random-access devices, this function returns the position that data is written to or read from. | |
virtual qint64 | size () const |
For open random-access devices, this function returns the size of the device. | |
virtual bool | seek (qint64 pos) |
For random-access devices, this function sets the current position to pos, returning true on success, or false if an error occurred. | |
virtual bool | atEnd () const |
Returns true if the current read and write position is at the end of the device (i.e. | |
virtual bool | reset () |
Seeks to the start of input for random-access devices. | |
virtual qint64 | bytesAvailable () const |
Returns the number of bytes that are available for reading. | |
virtual qint64 | bytesToWrite () const |
For buffered devices, this function returns the number of bytes waiting to be written. | |
qint64 | read (char *data, qint64 maxlen) |
Reads at most maxSize bytes from the device into data, and returns the number of bytes read. | |
QByteArray | read (qint64 maxlen) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Reads at most maxSize bytes from the device, and returns the data read as a QByteArray. | |
QByteArray | readAll () |
Reads all remaining data from the device, and returns it as a byte array. | |
qint64 | readLine (char *data, qint64 maxlen) |
This function reads a line of ASCII characters from the device, up to a maximum of maxSize - 1 bytes, stores the characters in data, and returns the number of bytes read. | |
QByteArray | readLine (qint64 maxlen=0) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Reads a line from the device, but no more than maxSize characters, and returns the result as a byte array. | |
virtual bool | canReadLine () const |
Returns true if a complete line of data can be read from the device; otherwise returns false . | |
void | startTransaction () |
void | commitTransaction () |
void | rollbackTransaction () |
bool | isTransactionStarted () const |
qint64 | write (const char *data, qint64 len) |
Writes at most maxSize bytes of data from data to the device. | |
qint64 | write (const char *data) |
qint64 | write (const QByteArray &data) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Writes the content of data to the device. | |
qint64 | peek (char *data, qint64 maxlen) |
QByteArray | peek (qint64 maxlen) |
qint64 | skip (qint64 maxSize) |
virtual bool | waitForReadyRead (int msecs) |
Blocks until new data is available for reading and the readyRead() signal has been emitted, or until msecs milliseconds have passed. | |
virtual bool | waitForBytesWritten (int msecs) |
For buffered devices, this function waits until a payload of buffered written data has been written to the device and the bytesWritten() signal has been emitted, or until msecs milliseconds have passed. | |
void | ungetChar (char c) |
Puts the character c back into the device, and decrements the current position unless the position is 0. | |
bool | putChar (char c) |
Writes the character c to the device. | |
bool | getChar (char *c) |
Reads one character from the device and stores it in c. | |
QString | errorString () const |
Returns a human-readable description of the last device error that occurred. | |
![]() | |
Q_INVOKABLE | QObject (QObject *parent=nullptr) |
Constructs an object with parent object parent. | |
virtual | ~QObject () |
Destroys the object, deleting all its child objects. | |
virtual bool | event (QEvent *event) |
This virtual function receives events to an object and should return true if the event e was recognized and processed. | |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
Filters events if this object has been installed as an event filter for the watched object. | |
QString | objectName () const |
Q_WEAK_OVERLOAD void | setObjectName (const QString &name) |
Sets the object's name to name. | |
void | setObjectName (QAnyStringView name) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
QBindable< QString > | bindableObjectName () |
bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false . | |
bool | isWindowType () const |
Returns true if the object is a window; otherwise returns false . | |
bool | isQuickItemType () const |
Returns true if the object is a QQuickItem; otherwise returns false . | |
bool | signalsBlocked () const noexcept |
Returns true if signals are blocked; otherwise returns false . | |
bool | blockSignals (bool b) noexcept |
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). | |
QThread * | thread () const |
Returns the thread in which the object lives. | |
void | moveToThread (QThread *thread) |
Changes the thread affinity for this object and its children. | |
int | startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer) |
This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds. | |
int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType=Qt::CoarseTimer) |
void | killTimer (int id) |
Kills the timer with timer identifier, id. | |
template<typename T > | |
T | findChild (const QString &aName=QString(), Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object. | |
template<typename T > | |
QList< T > | findChildren (const QString &aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. | |
template<typename T > | |
QList< T > | findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
const QObjectList & | children () const |
Returns a list of child objects. | |
void | setParent (QObject *parent) |
Makes the object a child of parent. | |
void | installEventFilter (QObject *filterObj) |
Installs an event filter filterObj on this object. | |
void | removeEventFilter (QObject *obj) |
Removes an event filter object obj from this object. | |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const |
bool | disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const |
bool | disconnect (const QObject *receiver, const char *member=nullptr) const |
void | dumpObjectTree () const |
Dumps a tree of children to the debug output. | |
void | dumpObjectInfo () const |
Dumps information about signal connections, etc. | |
bool | setProperty (const char *name, const QVariant &value) |
Sets the value of the object's name property to value. | |
bool | setProperty (const char *name, QVariant &&value) |
QVariant | property (const char *name) const |
Returns the value of the object's name property. | |
QList< QByteArray > | dynamicPropertyNames () const |
QBindingStorage * | bindingStorage () |
const QBindingStorage * | bindingStorage () const |
QObject * | parent () const |
Returns a pointer to the parent object. | |
bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false . | |
Protected Member Functions | |
QNetworkReply (QObject *parent=nullptr) | |
Creates a QNetworkReply object with parent parent. | |
QNetworkReply (QNetworkReplyPrivate &dd, QObject *parent) | |
virtual qint64 | writeData (const char *data, qint64 len) override |
void | setOperation (QNetworkAccessManager::Operation operation) |
Sets the associated operation for this object to be operation. | |
void | setRequest (const QNetworkRequest &request) |
Sets the associated request for this object to be request. | |
void | setError (NetworkError errorCode, const QString &errorString) |
Sets the error condition to be errorCode. | |
void | setFinished (bool) |
void | setUrl (const QUrl &url) |
Sets the URL being processed to be url. | |
void | setHeader (QNetworkRequest::KnownHeaders header, const QVariant &value) |
Sets the known header header to be of value value. | |
void | setRawHeader (const QByteArray &headerName, const QByteArray &value) |
Sets the raw header headerName to be of value value. | |
void | setAttribute (QNetworkRequest::Attribute code, const QVariant &value) |
Sets the attribute code to have value value. | |
![]() | |
QIODevice (QIODevicePrivate &dd, QObject *parent=nullptr) | |
virtual qint64 | readData (char *data, qint64 maxlen)=0 |
Reads up to maxSize bytes from the device into data, and returns the number of bytes read or -1 if an error occurred. | |
virtual qint64 | readLineData (char *data, qint64 maxlen) |
Reads up to maxSize characters into data and returns the number of characters read. | |
virtual qint64 | skipData (qint64 maxSize) |
virtual qint64 | writeData (const char *data, qint64 len)=0 |
Writes up to maxSize bytes from data to the device. | |
void | setOpenMode (QIODeviceBase::OpenMode openMode) |
Sets the OpenMode of the device to openMode. | |
void | setErrorString (const QString &errorString) |
Sets the human readable description of the last device error that occurred to str. | |
![]() | |
QObject * | sender () const |
Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr. | |
int | senderSignalIndex () const |
int | receivers (const char *signal) const |
Returns the number of receivers connected to the signal. | |
bool | isSignalConnected (const QMetaMethod &signal) const |
virtual void | timerEvent (QTimerEvent *event) |
This event handler can be reimplemented in a subclass to receive timer events for the object. | |
virtual void | childEvent (QChildEvent *event) |
This event handler can be reimplemented in a subclass to receive child events. | |
virtual void | customEvent (QEvent *event) |
This event handler can be reimplemented in a subclass to receive custom events. | |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
QObject (QObjectPrivate &dd, QObject *parent=nullptr) | |
![]() | |
~QIODeviceBase ()=default | |
Additional Inherited Members | |
![]() | |
static QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
\threadsafe | |
static QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot) |
static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
\threadsafe | |
static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
static bool | disconnect (const QMetaObject::Connection &) |
Disconnect a connection. | |
template<typename Func1 , typename Func2 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot) |
template<typename Func1 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero) |
![]() | |
QScopedPointer< QObjectData > | d_ptr |
![]() | |
QString | objectName |
the name of this object | |
![]() | |
template< class T > T | qobject_cast (const QObject *object) |
Returns the given object cast to type T if the object is of type T (or of a subclass); otherwise returns \nullptr. | |
template< typename T > T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
template< typename T > QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QObjectList | |
\macro Q_CLASSINFO(Name, Value) | |
The QNetworkReply class contains the data and headers for a request sent with QNetworkAccessManager.
\reentrant
\inmodule QtNetwork
The QNetworkReply class contains the data and meta data related to a request posted with QNetworkAccessManager. Like QNetworkRequest, it contains a URL and headers (both in parsed and raw form), some information about the reply's state and the contents of the reply itself.
QNetworkReply is a sequential-access QIODevice, which means that once data is read from the object, it is no longer kept by the device. It is therefore the application's responsibility to keep this data if it needs to. Whenever more data is received from the network and processed, the readyRead() signal is emitted.
The downloadProgress() signal is also emitted when data is received, but the number of bytes contained in it may not represent the actual bytes received, if any transformation is done to the contents (for example, decompressing and removing the protocol overhead).
Even though QNetworkReply is a QIODevice connected to the contents of the reply, it also emits the uploadProgress() signal, which indicates the progress of the upload for operations that have such content.
Definition at line 26 of file qnetworkreply.h.
RawHeaderPair is a QPair<QByteArray, QByteArray> where the first QByteArray is the header name and the second is the header.
Definition at line 104 of file qnetworkreply.h.
Indicates all possible error conditions found during the processing of the request.
\value NoError no error condition.
\value ConnectionRefusedError the remote server refused the connection (the server is not accepting requests)
\value RemoteHostClosedError the remote server closed the connection prematurely, before the entire reply was received and processed
\value HostNotFoundError the remote host name was not found (invalid hostname)
\value TimeoutError the connection to the remote server timed out
\value OperationCanceledError the operation was canceled via calls to abort() or close() before it was finished.
\value SslHandshakeFailedError the SSL/TLS handshake failed and the encrypted channel could not be established. The sslErrors() signal should have been emitted.
\value TemporaryNetworkFailureError the connection was broken due to disconnection from the network, however the system has initiated roaming to another access point. The request should be resubmitted and will be processed as soon as the connection is re-established.
\value NetworkSessionFailedError the connection was broken due to disconnection from the network or failure to start the network.
\value BackgroundRequestNotAllowedError the background request is not currently allowed due to platform policy.
\value TooManyRedirectsError while following redirects, the maximum limit was reached. The limit is by default set to 50 or as set by QNetworkRequest::setMaxRedirectsAllowed(). (This value was introduced in 5.6.)
\value InsecureRedirectError while following redirects, the network access API detected a redirect from a encrypted protocol (https) to an unencrypted one (http). (This value was introduced in 5.6.)
\value ProxyConnectionRefusedError the connection to the proxy server was refused (the proxy server is not accepting requests)
\value ProxyConnectionClosedError the proxy server closed the connection prematurely, before the entire reply was received and processed
\value ProxyNotFoundError the proxy host name was not found (invalid proxy hostname)
\value ProxyTimeoutError the connection to the proxy timed out or the proxy did not reply in time to the request sent
\value ProxyAuthenticationRequiredError the proxy requires authentication in order to honour the request but did not accept any credentials offered (if any)
\value ContentAccessDenied the access to the remote content was denied (similar to HTTP error 403)
\value ContentOperationNotPermittedError the operation requested on the remote content is not permitted
\value ContentNotFoundError the remote content was not found at the server (similar to HTTP error 404)
\value AuthenticationRequiredError the remote server requires authentication to serve the content but the credentials provided were not accepted (if any)
\value ContentReSendError the request needed to be sent again, but this failed for example because the upload data could not be read a second time.
\value ContentConflictError the request could not be completed due to a conflict with the current state of the resource.
\value ContentGoneError the requested resource is no longer available at the server.
\value InternalServerError the server encountered an unexpected condition which prevented it from fulfilling the request.
\value OperationNotImplementedError the server does not support the functionality required to fulfill the request.
\value ServiceUnavailableError the server is unable to handle the request at this time.
\value ProtocolUnknownError the Network Access API cannot honor the request because the protocol is not known
\value ProtocolInvalidOperationError the requested operation is invalid for this protocol
\value UnknownNetworkError an unknown network-related error was detected
\value UnknownProxyError an unknown proxy-related error was detected
\value UnknownContentError an unknown error related to the remote content was detected
\value ProtocolFailure a breakdown in protocol was detected (parsing error, invalid or unexpected responses, etc.)
\value UnknownServerError an unknown error related to the server response was detected
Definition at line 30 of file qnetworkreply.h.
QNetworkReply::~QNetworkReply | ( | ) |
Disposes of this reply and frees any resources associated with it.
If any network connections are still open, they will be closed.
Definition at line 455 of file qnetworkreply.cpp.
Creates a QNetworkReply object with parent parent.
You cannot directly instantiate QNetworkReply objects. Use QNetworkAccessManager functions to do that.
Definition at line 435 of file qnetworkreply.cpp.
|
protected |
Definition at line 443 of file qnetworkreply.cpp.
|
pure virtualslot |
Aborts the operation immediately and close down any network connections still open.
Uploads still in progress are also aborted.
The finished() signal will also be emitted.
Implemented in QNetworkReplyDataImpl, QNetworkReplyFileImpl, QNetworkReplyHttpImpl, QNetworkReplyImpl, and QNetworkReplyWasmImpl.
Referenced by GeoCodeReplyEsri::GeoCodeReplyEsri(), GeoRouteReplyEsri::GeoRouteReplyEsri(), GeoTiledMapReplyEsri::GeoTiledMapReplyEsri(), PlaceSearchReplyEsri::PlaceSearchReplyEsri(), QGeoCodeReplyMapbox::QGeoCodeReplyMapbox(), QGeoCodeReplyNokia::QGeoCodeReplyNokia(), QGeoCodeReplyOsm::QGeoCodeReplyOsm(), QGeoMapReplyMapbox::QGeoMapReplyMapbox(), QGeoMapReplyNokia::QGeoMapReplyNokia(), QGeoMapReplyOsm::QGeoMapReplyOsm(), QGeoRouteReplyMapbox::QGeoRouteReplyMapbox(), QGeoRouteReplyNokia::QGeoRouteReplyNokia(), QGeoRouteReplyOsm::QGeoRouteReplyOsm(), QPlaceContentReplyImpl::QPlaceContentReplyImpl(), QPlaceDetailsReplyImpl::QPlaceDetailsReplyImpl(), QPlaceSearchReplyHere::QPlaceSearchReplyHere(), QPlaceSearchReplyMapbox::QPlaceSearchReplyMapbox(), QPlaceSearchReplyOsm::QPlaceSearchReplyOsm(), QPlaceSearchSuggestionReplyImpl::QPlaceSearchSuggestionReplyImpl(), and QPlaceSearchSuggestionReplyMapbox::QPlaceSearchSuggestionReplyMapbox().
QVariant QNetworkReply::attribute | ( | QNetworkRequest::Attribute | code | ) | const |
Returns the attribute associated with the code code.
If the attribute has not been set, it returns an invalid QVariant (type QMetaType::UnknownType).
You can expect the default values listed in QNetworkRequest::Attribute to be applied to the values returned by this function.
Definition at line 676 of file qnetworkreply.cpp.
References QVariant::value().
Referenced by replyFinished().
|
overridevirtual |
Closes this device for reading.
Unread data is discarded, but the network resources are not discarded until they are finished. In particular, if any upload is in progress, it will continue until it is done.
The finished() signal is emitted when all operations are over and the network resources are freed.
Reimplemented from QIODevice.
Reimplemented in QNetworkReplyDataImpl, QNetworkReplyFileImpl, QNetworkReplyHttpImpl, QNetworkReplyImpl, and QNetworkReplyWasmImpl.
Definition at line 470 of file qnetworkreply.cpp.
References QIODevice::close().
Referenced by QNetworkReplyDataImpl::abort(), QNetworkReplyHttpImpl::abort(), QNetworkReplyImpl::abort(), QNetworkReplyDataImpl::close(), QNetworkReplyFileImpl::close(), QNetworkReplyHttpImpl::close(), QNetworkReplyImpl::close(), and QNetworkReplyWasmImpl::close().
This signal is emitted to indicate the progress of the download part of this network request, if there's any.
If there's no download associated with this request, this signal will be emitted once with 0 as the value of both bytesReceived and bytesTotal.
The bytesReceived parameter indicates the number of bytes received, while bytesTotal indicates the total number of bytes expected to be downloaded. If the number of bytes to be downloaded is not known, bytesTotal will be -1.
The download is finished when bytesReceived is equal to bytesTotal. At that time, bytesTotal will not be -1.
Note that the values of both bytesReceived and bytesTotal may be different from size(), the total number of bytes obtained through read() or readAll(), or the value of the header(ContentLengthHeader). The reason for that is that there may be protocol overhead or the data may be compressed during the download.
Referenced by QNetworkReplyImpl::readData(), QQmlXmlListModel::reload(), and QQuickPixmapReader::run().
QNetworkReply::NetworkError QNetworkReply::error | ( | ) | const |
Returns the error that was found during the processing of this request.
If no error was found, returns NoError.
Definition at line 554 of file qnetworkreply.cpp.
Referenced by RouteHandler::RouteHandler(), QGeoRoutingManagerEngineNokia::calculateRoute(), QBluetoothSocketPrivateBluezDBus::connectToServiceHelper(), QGeoTileFetcherNokia::copyrightsFetched(), QGeoTileFetcherNokia::fetchCopyrightsData(), QGeoTileFetcherNokia::fetchVersionData(), QDeclarativeGeocodeModel::geocodeFinished(), QGeoTileFetcher::handleReply(), QPdfDocumentPrivate::load(), QDnsLookup::lookup(), QDeclarativeSearchResultModel::onContentUpdated(), TileProvider::onNetworkReplyFinished(), DBus_PendingReply_Interface::PendingReplyString(), DBus_Process_String_Interface::QDBus_reply(), QDeclarativeSearchResultModel::queryFinished(), QDnsLookupRunnable::run(), QLeDBusAdvertiser::stopAdvertising(), QDeclarativeGeoRouteModel::update(), QGeoRoutingManagerEngineNokia::updateRoute(), and QGeoTileFetcherNokia::versionFetched().
|
signal |
This signal is emitted when the reply detects an error in processing. The finished() signal will probably follow, indicating that the connection is over.
The code parameter contains the code of the error that was detected. Call errorString() to obtain a textual representation of the error condition.
Referenced by GeoCodeReplyEsri::GeoCodeReplyEsri(), GeoRouteReplyEsri::GeoRouteReplyEsri(), GeoTiledMapReplyEsri::GeoTiledMapReplyEsri(), PlaceSearchReplyEsri::PlaceSearchReplyEsri(), QGeoCodeReplyMapbox::QGeoCodeReplyMapbox(), QGeoCodeReplyNokia::QGeoCodeReplyNokia(), QGeoCodeReplyOsm::QGeoCodeReplyOsm(), QGeoMapReplyMapbox::QGeoMapReplyMapbox(), QGeoMapReplyNokia::QGeoMapReplyNokia(), QGeoMapReplyOsm::QGeoMapReplyOsm(), QGeoRouteReplyMapbox::QGeoRouteReplyMapbox(), QGeoRouteReplyNokia::QGeoRouteReplyNokia(), QGeoRouteReplyOsm::QGeoRouteReplyOsm(), QPlaceContentReplyImpl::QPlaceContentReplyImpl(), QPlaceDetailsReplyImpl::QPlaceDetailsReplyImpl(), QPlaceSearchReplyHere::QPlaceSearchReplyHere(), QPlaceSearchReplyMapbox::QPlaceSearchReplyMapbox(), QPlaceSearchReplyOsm::QPlaceSearchReplyOsm(), QPlaceSearchSuggestionReplyImpl::QPlaceSearchSuggestionReplyImpl(), QPlaceSearchSuggestionReplyMapbox::QPlaceSearchSuggestionReplyMapbox(), QPlaceManagerEngineNokiaV2::initializeCategories(), and TileProvider::resolveProvider().
|
signal |
This signal is emitted when the reply has finished processing.
After this signal is emitted, there will be no more updates to the reply's data or metadata.
Unless close() or abort() have been called, the reply will still be opened for reading, so the data can be retrieved by calls to read() or readAll(). In particular, if no calls to read() were made as a result of readyRead(), a call to readAll() will retrieve the full contents in a QByteArray.
This signal is emitted in tandem with QNetworkAccessManager::finished() where that signal's reply parameter is this object.
You can also use isFinished() to check if a QNetworkReply has finished even before you receive the finished() signal.
Referenced by GeoCodeReplyEsri::GeoCodeReplyEsri(), GeoRouteReplyEsri::GeoRouteReplyEsri(), GeoTiledMapReplyEsri::GeoTiledMapReplyEsri(), PlaceSearchReplyEsri::PlaceSearchReplyEsri(), QGeoCodeReplyMapbox::QGeoCodeReplyMapbox(), QGeoCodeReplyNokia::QGeoCodeReplyNokia(), QGeoCodeReplyOsm::QGeoCodeReplyOsm(), QGeoMapReplyMapbox::QGeoMapReplyMapbox(), QGeoMapReplyNokia::QGeoMapReplyNokia(), QGeoMapReplyOsm::QGeoMapReplyOsm(), QGeoRouteReplyMapbox::QGeoRouteReplyMapbox(), QGeoRouteReplyNokia::QGeoRouteReplyNokia(), QGeoRouteReplyOsm::QGeoRouteReplyOsm(), QNetworkReplyFileImpl::QNetworkReplyFileImpl(), QPlaceContentReplyImpl::QPlaceContentReplyImpl(), QPlaceDetailsReplyImpl::QPlaceDetailsReplyImpl(), QPlaceSearchReplyHere::QPlaceSearchReplyHere(), QPlaceSearchReplyMapbox::QPlaceSearchReplyMapbox(), QPlaceSearchReplyOsm::QPlaceSearchReplyOsm(), QPlaceSearchSuggestionReplyImpl::QPlaceSearchSuggestionReplyImpl(), QPlaceSearchSuggestionReplyMapbox::QPlaceSearchSuggestionReplyMapbox(), QGeoTileFetcherNokia::fetchCopyrightsData(), QGeoTileFetcherNokia::fetchVersionData(), QPlaceManagerEngineNokiaV2::initializeCategories(), QQuickAnimatedImage::load(), QPdfDocumentPrivate::load(), QNetworkAccessManagerPrivate::postProcess(), QQmlXmlListModel::reload(), TileProvider::resolveProvider(), QQuickPixmapReader::run(), and setFinished().
bool QNetworkReply::hasRawHeader | ( | const QByteArray & | headerName | ) | const |
Returns true
if the raw header of name headerName was sent by the remote server.
Definition at line 616 of file qnetworkreply.cpp.
References d, and headerName().
QVariant QNetworkReply::header | ( | QNetworkRequest::KnownHeaders | header | ) | const |
Returns the value of the known header header, if that header was sent by the remote server.
If the header was not sent, returns an invalid QVariant.
Definition at line 605 of file qnetworkreply.cpp.
References header(), and QVariant::value().
Referenced by QPdfDocumentPrivate::_q_tryLoadingWithSizeFromContentHeader(), QHttpNetworkConnectionPrivate::handleAuthenticateChallenge(), header(), Http2::is_protocol_upgraded(), QPdfDocumentPrivate::load(), QHttpNetworkConnectionPrivate::parseRedirectResponse(), setHeader(), and QNetworkReplyFileImpl::size().
|
virtualslot |
If this function is called, SSL errors related to network connection will be ignored, including certificate validation errors.
This function can be called from the slot connected to the sslErrors() signal, which indicates which errors were found.
Reimplemented in QNetworkReplyImpl.
Definition at line 803 of file qnetworkreply.cpp.
bool QNetworkReply::isFinished | ( | ) | const |
Returns true
when the reply has finished or was aborted.
Definition at line 566 of file qnetworkreply.cpp.
Referenced by RouteHandler::RouteHandler(), QGeoTileFetcherNokia::fetchCopyrightsData(), QGeoTileFetcherNokia::fetchVersionData(), QIBusPlatformInputContext::filterEvent(), isRunning(), QPdfDocumentPrivate::load(), QNetworkReplyHttpImpl::readData(), QHttpNetworkConnectionPrivate::removeReply(), and QDeclarativeGeoRouteModel::update().
bool QNetworkReply::isRunning | ( | ) | const |
Returns true
when the request is still processing and the reply has not finished or was aborted yet.
Definition at line 579 of file qnetworkreply.cpp.
References isFinished().
|
overridevirtual |
Reimplemented from QIODevice.
Reimplemented in QNetworkReplyDataImpl, QNetworkReplyFileImpl, QNetworkReplyHttpImpl, and QNetworkReplyWasmImpl.
Definition at line 478 of file qnetworkreply.cpp.
QNetworkAccessManager * QNetworkReply::manager | ( | ) | const |
Returns the QNetworkAccessManager that was used to create this QNetworkReply object.
Initially, it is also the parent object.
Definition at line 521 of file qnetworkreply.cpp.
Referenced by QNetworkReplyFileImpl::QNetworkReplyFileImpl(), QNetworkReplyHttpImpl::QNetworkReplyHttpImpl(), and QNetworkReplyPrivate::setManager().
|
signal |
\omit FIXME: Update name? \endomit
This signal is emitted whenever the metadata in this reply changes. metadata is any information that is not the content (data) itself, including the network headers. In the majority of cases, the metadata will be known fully by the time the first byte of data is received. However, it is possible to receive updates of headers or other metadata during the processing of the data.
QNetworkAccessManager::Operation QNetworkReply::operation | ( | ) | const |
Returns the operation that was posted for this reply.
Definition at line 543 of file qnetworkreply.cpp.
Referenced by QNetworkReplyHttpImpl::QNetworkReplyHttpImpl(), and setOperation().
QByteArray QNetworkReply::rawHeader | ( | const QByteArray & | headerName | ) | const |
Returns the raw contents of the header headerName as sent by the remote server.
If there is no such header, returns an empty byte array, which may be indistinguishable from an empty header. Use hasRawHeader() to verify if the server sent such header field.
Definition at line 631 of file qnetworkreply.cpp.
References d, headerName(), and it.
QList< QByteArray > QNetworkReply::rawHeaderList | ( | ) | const |
Returns a list of headers fields that were sent by the remote server, in the order that they were sent.
Duplicate headers are merged together and take place of the latter duplicate.
Definition at line 661 of file qnetworkreply.cpp.
const QList< QNetworkReply::RawHeaderPair > & QNetworkReply::rawHeaderPairs | ( | ) | const |
qint64 QNetworkReply::readBufferSize | ( | ) | const |
Returns the size of the read buffer, in bytes.
Definition at line 488 of file qnetworkreply.cpp.
Referenced by QNetworkReplyHttpImpl::readData().
|
signal |
When client code handling the redirected() signal has verified the new URL, it emits this signal to allow the redirect to go ahead. This protocol applies to network requests whose redirects policy is set to QNetworkRequest::UserVerifiedRedirectPolicy
Referenced by QNetworkReplyHttpImpl::QNetworkReplyHttpImpl().
This signal is emitted if the QNetworkRequest::ManualRedirectPolicy was not set in the request and the server responded with a 3xx status (specifically 301, 302, 303, 305, 307 or 308 status code) with a valid url in the location header, indicating a HTTP redirect. The url parameter contains the new redirect url as returned by the server in the location header.
QNetworkRequest QNetworkReply::request | ( | ) | const |
Returns the request that was posted for this reply.
In special, note that the URL for the request may be different than that of the reply.
Definition at line 533 of file qnetworkreply.cpp.
Referenced by QNetworkReplyHttpImpl::QNetworkReplyHttpImpl(), QNetworkAccessManagerPrivate::_q_replyFinished(), QNetworkReplyWasmImplPrivate::downloadFailed(), QHttpNetworkConnectionPrivate::handleAuthenticateChallenge(), QHttpNetworkConnectionPrivate::parseRedirectResponse(), setRequest(), and QNetworkReplyHttpImpl::sslConfigurationImplementation().
|
signal |
This signal is emitted 1 or more times when the request was sent. Useful for custom progress or timeout handling.
Referenced by QNetworkReplyHttpImplPrivate::postRequest().
|
protected |
Sets the attribute code to have value value.
If code was previously set, it will be overridden. If value is an invalid QVariant, the attribute will be unset.
Definition at line 926 of file qnetworkreply.cpp.
References d.
Referenced by QNetworkReplyFileImpl::readData().
|
protected |
Sets the error condition to be errorCode.
The human-readable message is set with errorString.
Calling setError() does not emit the errorOccurred(QNetworkReply::NetworkError) signal.
Definition at line 854 of file qnetworkreply.cpp.
References d, QIODevice::errorString(), and QIODevice::setErrorString().
Referenced by QNetworkReplyDataImpl::QNetworkReplyDataImpl(), and QNetworkReplyFileImpl::QNetworkReplyFileImpl().
|
protected |
After having this set the replies data must not change.
Definition at line 869 of file qnetworkreply.cpp.
References d, and finished().
Referenced by QNetworkReplyDataImpl::QNetworkReplyDataImpl(), and QNetworkReplyFileImpl::QNetworkReplyFileImpl().
|
protected |
Sets the known header header to be of value value.
The corresponding raw form of the header will be set as well.
Definition at line 896 of file qnetworkreply.cpp.
Referenced by QNetworkReplyDataImpl::QNetworkReplyDataImpl(), and QNetworkReplyFileImpl::QNetworkReplyFileImpl().
|
protected |
Sets the associated operation for this object to be operation.
This value will be returned by operation().
Definition at line 824 of file qnetworkreply.cpp.
References d, and operation().
Referenced by QNetworkReplyDataImpl::QNetworkReplyDataImpl(), and QNetworkReplyFileImpl::QNetworkReplyFileImpl().
|
protected |
Sets the raw header headerName to be of value value.
If headerName was previously set, it is overridden. Multiple HTTP headers of the same name are functionally equivalent to one single header with the values concatenated, separated by commas.
If headerName matches a known header, the value value will be parsed and the corresponding parsed form will also be set.
Definition at line 913 of file qnetworkreply.cpp.
References d, and headerName().
Sets the size of the read buffer to be size bytes.
The read buffer is the buffer that holds data that is being downloaded off the network, before it is read with QIODevice::read(). Setting the buffer size to 0 will make the buffer unlimited in size.
QNetworkReply will try to stop reading from the network once this buffer is full (i.e., bytesAvailable() returns size or more), thus causing the download to throttle down as well. If the buffer is not limited in size, QNetworkReply will try to download as fast as possible from the network.
Unlike QAbstractSocket::setReadBufferSize(), QNetworkReply cannot guarantee precision in the read buffer size. That is, bytesAvailable() can return more than size.
Reimplemented in QNetworkReplyHttpImpl, and QNetworkReplyImpl.
Definition at line 511 of file qnetworkreply.cpp.
References d, and QIODevice::size().
Referenced by QNetworkReplyHttpImpl::setReadBufferSize(), and QNetworkReplyImpl::setReadBufferSize().
|
protected |
Sets the associated request for this object to be request.
This value will be returned by request().
Definition at line 839 of file qnetworkreply.cpp.
Referenced by QNetworkReplyDataImpl::QNetworkReplyDataImpl(), QNetworkReplyFileImpl::QNetworkReplyFileImpl(), and QHttpNetworkConnectionPrivate::queueRequest().
Sets the URL being processed to be url.
Normally, the URL matches that of the request that was posted, but for a variety of reasons it can be different (for example, a file path being made absolute or canonical).
Definition at line 884 of file qnetworkreply.cpp.
Referenced by QNetworkReplyDataImpl::QNetworkReplyDataImpl(), and QNetworkReplyFileImpl::QNetworkReplyFileImpl().
|
signal |
This signal is emitted 0 or more times, when the socket is connecting, before sending the request. Useful for custom progress or timeout handling.
Referenced by QNetworkReplyHttpImplPrivate::postRequest().
This signal is emitted to indicate the progress of the upload part of this network request, if there's any.
If there's no upload associated with this request, this signal will not be emitted.
The bytesSent parameter indicates the number of bytes uploaded, while bytesTotal indicates the total number of bytes to be uploaded. If the number of bytes to be uploaded could not be determined, bytesTotal will be -1.
The upload is finished when bytesSent is equal to bytesTotal. At that time, bytesTotal will not be -1.
QUrl QNetworkReply::url | ( | ) | const |
Returns the URL of the content downloaded or uploaded.
Note that the URL may be different from that of the original request. If redirections were enabled in the request, then this function returns the current url that the network API is accessing, i.e the url of the resource the request got redirected to.
Definition at line 593 of file qnetworkreply.cpp.
References QUrl::url().
Referenced by QNetworkReplyDataImpl::QNetworkReplyDataImpl(), QNetworkReplyFileImpl::QNetworkReplyFileImpl(), QNetworkReplyImpl::~QNetworkReplyImpl(), QQuickPixmapReader::cancel(), QHttpNetworkConnectionPrivate::handleAuthenticateChallenge(), QNetworkReplyHttpImpl::ignoreSslErrorsImplementation(), and setUrl().
Implements QIODevice.
Definition at line 810 of file qnetworkreply.cpp.