[英]QNetworkRequest and QUrl encoding c++
Im trying to connect to gmail and consume the atom file. 我试图连接到gmail并使用原子文件。 Im having problem with passwords that contain !#$%^&* 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())));
I get reply "Protocol "" is unknown" 我收到回复“协议”未知”
Qt 4.8 Qt 4.8
How is this done properly 如何正确完成
Why don't you construct a QUrl
directly? 为什么不直接构造
QUrl
?
QUrl url("https://mail.google.com/mail/feed/atom");
url.setUserName(settings.getUserName());
url.setPassword(settings.getPassword());
pNetworkManager->get(QNetworkRequest(url));
It handles all the necessary encoding and QNetworkRequest
takes it directly anyway. 它处理所有必要的编码,并且
QNetworkRequest
还是直接采用它。 No need to mess with string encodings. 无需弄乱字符串编码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.