Creating an HTTP network request in Qt
S60 5th Edition
S60 5th Edition
S60 3rd Edition FP2
S60 3rd Edition FP1
S60 3rd Edition (initial release)
This code snippet demonstrates how to use QNetworkAccessManager for sending an HTTP request.
Note: In order to use this code, you need to have Qt installed on your platform.
Create QNetworkAccessManager and start listening for its finished signal.
HTTP GET request:
QNetworkReply* reply = nam->get(QNetworkRequest(url));
// NOTE: Store QNetworkReply pointer (maybe into caller).
// When this HTTP request is finished you will receive this same
// QNetworkReply as response parameter.
// By the QNetworkReply pointer you can identify request and response.
When the QNetworkAccessManager::finished signal is received, the HTTP request is completed.
void MyHttpEngine::finishedSlot(QNetworkReply* reply)
// Reading attributes of the reply
// e.g. the HTTP status code
QVariant statusCodeV =
// Or the target URL if it was a redirect:
QVariant redirectionTargetUrl =
// see CS001432 on how to handle this
// no error received?
if (reply->error() == QNetworkReply::NoError)
// read data from QNetworkReply here
// Example 1: Creating QImage from the reply
QImage pic = imageReader.read();
// Example 2: Reading bytes form the reply
QByteArray bytes = reply.readAll(); // bytes
QString string(bytes); // string
// Some http error received
// handle errors here
// We receive ownership of the reply object
// and therefore need to handle deletion.
- For more information about QNetworkAccessManager, see QNetworkAccessManager Class Reference
- Handling an HTTP redirect with QNetworkAccessManager
An HTTP response is received.