summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rbutil/rbutilqt/httpget.cpp23
1 files changed, 15 insertions, 8 deletions
diff --git a/rbutil/rbutilqt/httpget.cpp b/rbutil/rbutilqt/httpget.cpp
index e54df73..d1c80b8 100644
--- a/rbutil/rbutilqt/httpget.cpp
+++ b/rbutil/rbutilqt/httpget.cpp
@@ -109,13 +109,23 @@ bool HttpGet::getFile(const QUrl &url)
}
}
http.setHost(url.host(), url.port(80));
+ // construct query (if any)
+ QList<QPair<QString, QString> > qitems = url.queryItems();
+ QString query;
+ if(url.hasQuery()) {
+ query = "?";
+ for(int i = 0; i < qitems.size(); i++)
+ query += qitems.at(i).first + "=" + qitems.at(i).second + "&";
+ qDebug() << query;
+ }
+
if(outputToBuffer) {
- qDebug() << "downloading to buffer:" << QString(url.toEncoded());
- getRequest = http.get(QString(url.toEncoded()));
+ qDebug() << "downloading to buffer:" << url.toString();
+ getRequest = http.get(url.path() + query);
}
else {
- qDebug() << "downloading to file:" << QString(url.toEncoded()) << qPrintable(outputFile->fileName());
- getRequest = http.get(QString(url.toEncoded()), outputFile);
+ qDebug() << "downloading to file:" << url.toString() << qPrintable(outputFile->fileName());
+ getRequest = http.get(url.path() + query, outputFile);
}
qDebug() << "request scheduled: GET" << getRequest;
@@ -129,11 +139,8 @@ void HttpGet::httpDone(bool error)
if (error) {
qDebug() << "Error: " << qPrintable(http.errorString()) << endl;
}
- if(!outputToBuffer) {
+ if(!outputToBuffer)
outputFile->close();
- qDebug() << "File downloaded as" << qPrintable(outputFile->fileName());
- }
- else qDebug() << "file downloaded to buffer";
emit done(error);
}