diff --git a/src/networkaccessmanager.cpp b/src/networkaccessmanager.cpp index 68558714..3397ef7a 100644 --- a/src/networkaccessmanager.cpp +++ b/src/networkaccessmanager.cpp @@ -99,12 +99,22 @@ void NetworkAccessManager::setPassword(const QString &password) } // protected: -QNetworkReply *NetworkAccessManager::createRequest(Operation op, const QNetworkRequest & req, QIODevice * outgoingData) +QNetworkReply *NetworkAccessManager::createRequest(Operation op, const QNetworkRequest & request, QIODevice * outgoingData) { + QNetworkRequest req(request); + // Get the URL string before calling the superclass. Seems to work around // segfaults in Qt 4.8: https://gist.github.com/1430393 QByteArray url = req.url().toEncoded(); + // http://code.google.com/p/phantomjs/issues/detail?id=337 + if (op == QNetworkAccessManager::PostOperation) { + QString contentType = req.header(QNetworkRequest::ContentTypeHeader).toString(); + if (contentType.isEmpty()) { + req.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); + } + } + // Pass duty to the superclass - Nothing special to do here (yet?) QNetworkReply *reply = QNetworkAccessManager::createRequest(op, req, outgoingData); if(m_ignoreSslErrors) {