我试图连接到gmail并使用atom文件。 我的密码问题包含!#$%^& * chars。
pNetworkManager = new QNetworkAccessManager(this);
connect(pNetworkManager, SIGNAL(finished(QNetworkReply*)),
this, SLOT(result(QNetworkReply*)));
Settings settings;
settings.load();
QString url;
url.append("https://");
url.append(settings.getUserName());
url.append(":");
url.append(QUrl::toPercentEncoding(settings.getPassword()));
url.append("@mail.google.com/mail/feed/atom");
pNetworkManager->get(QNetworkRequest(QUrl(url.toUtf8())));
我得到答复“议定书”“未知”
Qt 4.8
如何正确完成
答案 0 :(得分:1)
为什么不直接构建QUrl
?
QUrl url("https://mail.google.com/mail/feed/atom");
url.setUserName(settings.getUserName());
url.setPassword(settings.getPassword());
pNetworkManager->get(QNetworkRequest(url));
它处理所有必要的编码,QNetworkRequest
直接接受它。不需要乱用字符串编码。