diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2007-08-15 14:15:24 +0000 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2007-08-15 14:15:24 +0000 |
commit | 8897e8cdfd9c0fbd5ba4a14df19e646391dc6cca (patch) | |
tree | cf9641ef28c6248029942c97b60a436a44d2d53d | |
parent | e59cf6b9df8f1fba48cb8137013a011012e5e52a (diff) | |
download | rockbox-8897e8cdfd9c0fbd5ba4a14df19e646391dc6cca.tar.gz rockbox-8897e8cdfd9c0fbd5ba4a14df19e646391dc6cca.zip |
more fixing on downloading class: toEncoded can't be used as get parameter. Use path() and construct query parameters ourselves.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14355 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | rbutil/rbutilqt/httpget.cpp | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/rbutil/rbutilqt/httpget.cpp b/rbutil/rbutilqt/httpget.cpp index e54df73c3f..d1c80b8aff 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); } |