Repository navigation
Expand file tree
/
Copy pathnetworkaccessmanagerfactory.cpp
More file actions
67 lines (56 loc) · 1.86 KB
/
Copy pathnetworkaccessmanagerfactory.cpp
File metadata and controls
67 lines (56 loc) · 1.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include "networkaccessmanagerfactory.h"
#include <QNetworkAccessManager>
#include <QSettings>
#include <QSystemDeviceInfo>
#include "userconfig.h"
QNetworkAccessManager* NetworkAccessManagerFactory::create(QObject *parent)
{
QNetworkAccessManager* manager = new QNetworkAccessManager(parent);
QNetworkCookieJar* cookieJar = NetworkCookieJar::Instance();
manager->setCookieJar(cookieJar);
cookieJar->setParent(0);
return manager;
}
NetworkCookieJar::NetworkCookieJar() : QNetworkCookieJar()
{
loadCookies();
}
NetworkCookieJar::~NetworkCookieJar()
{
saveCookies();
}
void NetworkCookieJar::clearCookies()
{
setAllCookies(QList<QNetworkCookie>());
loadExtraCookies();
}
void NetworkCookieJar::loadCookies()
{
QByteArray storedCookies = QSettings().value(UserConfig::KeyCookies).toByteArray();
setAllCookies(QNetworkCookie::parseCookies(storedCookies));
loadExtraCookies();
}
void NetworkCookieJar::saveCookies()
{
QList<QNetworkCookie> list = allCookies();
QByteArray data;
foreach (const QNetworkCookie& cookie, list) {
if (!cookie.isSessionCookie() && cookie.domain().endsWith("music.163.com")) {
data.append(cookie.toRawForm());
data.append("\n");
}
}
QSettings().setValue(UserConfig::KeyCookies, data);
}
void NetworkCookieJar::loadExtraCookies()
{
QList<QNetworkCookie> extraCookies;
extraCookies.append(QNetworkCookie("appver", "1.6.1.82809"));
extraCookies.append(QNetworkCookie("channel", "netease"));
#ifndef Q_OS_S60V5
//extraCookies.append(QNetworkCookie("deviceId", QtMobility::QSystemDeviceInfo().uniqueDeviceID().toUpper()));
#endif
extraCookies.append(QNetworkCookie("os", "pc"));
extraCookies.append(QNetworkCookie("osver", "Microsoft-Windows-8-Professional-build-9200-64bit"));
setCookiesFromUrl(extraCookies, QUrl("http://music.163.com"));
}