diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2017-11-25 18:00:06 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2017-11-25 18:00:06 +0000 |
| commit | 8453224119a4c5ff7d47d9cd4924d0b1ccb99b3a (patch) | |
| tree | 15d339b62e98d5858a57aa787334e14f0e2f0ad7 /src/plugins/General/scrobbler/scrobbler.cpp | |
| parent | 6fc05db7c6de9a51beba754f12ff4ac32859977d (diff) | |
| download | qmmp-8453224119a4c5ff7d47d9cd4924d0b1ccb99b3a.tar.gz qmmp-8453224119a4c5ff7d47d9cd4924d0b1ccb99b3a.tar.bz2 qmmp-8453224119a4c5ff7d47d9cd4924d0b1ccb99b3a.zip | |
copy 1.2 branch to trunk
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@7772 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/General/scrobbler/scrobbler.cpp')
| -rw-r--r-- | src/plugins/General/scrobbler/scrobbler.cpp | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/src/plugins/General/scrobbler/scrobbler.cpp b/src/plugins/General/scrobbler/scrobbler.cpp index c84cba99d..b4f10e634 100644 --- a/src/plugins/General/scrobbler/scrobbler.cpp +++ b/src/plugins/General/scrobbler/scrobbler.cpp @@ -26,6 +26,7 @@ #include <QCryptographicHash> #include <QXmlStreamReader> #include <QUrl> +#include <QUrlQuery> #include <QTime> #include <QTimer> #include <QDateTime> @@ -312,7 +313,7 @@ void Scrobbler::submit() QUrl url(m_scrobblerUrl); url.setPort(m_scrobblerUrl.startsWith("https") ? 443 : 80); - QUrl body(""); + QUrlQuery body(""); QByteArray data; foreach (QString key, params.keys()) { @@ -321,7 +322,7 @@ void Scrobbler::submit() } data.append(SECRET); body.addQueryItem("api_sig", QCryptographicHash::hash(data, QCryptographicHash::Md5).toHex()); - QByteArray bodyData = body.toEncoded().remove(0,1); + QByteArray bodyData = body.query(QUrl::FullyEncoded).toUtf8(); bodyData.replace("+", QUrl::toPercentEncoding("+")); QNetworkRequest request(url); @@ -361,7 +362,7 @@ void Scrobbler::sendNotification(const SongInfo &info) QUrl url(m_scrobblerUrl); url.setPort(m_scrobblerUrl.startsWith("https") ? 443 : 80); - QUrl body(""); + QUrlQuery body(""); QByteArray data; foreach (QString key, params.keys()) { @@ -370,7 +371,7 @@ void Scrobbler::sendNotification(const SongInfo &info) } data.append(SECRET); body.addQueryItem("api_sig", QCryptographicHash::hash(data, QCryptographicHash::Md5).toHex()); - QByteArray bodyData = body.toEncoded().remove(0,1); + QByteArray bodyData = body.query(QUrl::FullyEncoded).toUtf8(); bodyData.replace("+", QUrl::toPercentEncoding("+")); QNetworkRequest request(url); @@ -415,14 +416,16 @@ void ScrobblerAuth::getToken() m_session.clear(); QUrl url(m_scrobblerUrl + "?"); url.setPort(m_scrobblerUrl.startsWith("https") ? 443 : 80); - url.addQueryItem("method", "auth.getToken"); - url.addQueryItem("api_key", API_KEY); + QUrlQuery q; + q.addQueryItem("method", "auth.getToken"); + q.addQueryItem("api_key", API_KEY); QByteArray data; data.append("api_key" API_KEY); data.append("methodauth.getToken"); data.append(SECRET); - url.addQueryItem("api_sig", QCryptographicHash::hash(data,QCryptographicHash::Md5).toHex()); + q.addQueryItem("api_sig", QCryptographicHash::hash(data,QCryptographicHash::Md5).toHex()); + url.setQuery(q); QNetworkRequest request(url); request.setRawHeader("User-Agent", m_ua); @@ -436,16 +439,18 @@ void ScrobblerAuth::getSession() qDebug("ScrobblerAuth[%s]: new session request", qPrintable(m_name)); QUrl url(m_scrobblerUrl + "?"); url.setPort(m_scrobblerUrl.startsWith("https") ? 443 : 80); - url.addQueryItem("api_key", API_KEY); - url.addQueryItem("method", "auth.getSession"); - url.addQueryItem("token", m_token); + QUrlQuery q; + q.addQueryItem("api_key", API_KEY); + q.addQueryItem("method", "auth.getSession"); + q.addQueryItem("token", m_token); QByteArray data; data.append("api_key" API_KEY); data.append("methodauth.getSession"); data.append("token" + m_token.toUtf8()); data.append(SECRET); - url.addQueryItem("api_sig", QCryptographicHash::hash(data, QCryptographicHash::Md5).toHex()); + q.addQueryItem("api_sig", QCryptographicHash::hash(data, QCryptographicHash::Md5).toHex()); + url.setQuery(q); QNetworkRequest request(url); request.setRawHeader("User-Agent", m_ua); @@ -466,7 +471,7 @@ void ScrobblerAuth::checkSession(const QString &session) QUrl url(m_scrobblerUrl); url.setPort(m_scrobblerUrl.startsWith("https") ? 443 : 80); - QUrl body(""); + QUrlQuery body(""); QByteArray data; foreach (QString key, params.keys()) { @@ -475,7 +480,7 @@ void ScrobblerAuth::checkSession(const QString &session) } data.append(SECRET); body.addQueryItem("api_sig", QCryptographicHash::hash(data, QCryptographicHash::Md5).toHex()); - QByteArray bodyData = body.toEncoded().remove(0,1); + QByteArray bodyData = body.query(QUrl::FullyEncoded).toUtf8(); bodyData.replace("+", QUrl::toPercentEncoding("+")); QNetworkRequest request(url); |
