aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/General/scrobbler/scrobbler.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2017-11-25 18:00:06 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2017-11-25 18:00:06 +0000
commit8453224119a4c5ff7d47d9cd4924d0b1ccb99b3a (patch)
tree15d339b62e98d5858a57aa787334e14f0e2f0ad7 /src/plugins/General/scrobbler/scrobbler.cpp
parent6fc05db7c6de9a51beba754f12ff4ac32859977d (diff)
downloadqmmp-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.cpp31
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);