我的项目使用 QT 4.8.2。我的问题是 QTNetworkAccess 无法正确获取我的网址(或解码)。如果我将我的网址粘贴到浏览器,我会看到浏览器中的结果与我在结果中看到的不同(QNetworkreply)。
这是我需要获取的示例网址:* https://myhost/folder/folder/rss?cn1%5B0%5D=Web%2C+Mobile+%26+Software+Dev&cn2%5B0%5D=Web+Development
或者,没有 urlencode:** https://myhost/folder/folder/rss?cn1[]=Web%2C+Mobile+%26+Software+Dev&cn2[]=Web+Development
我尝试将 QUrl 作为 * 和 ** 传递。
这是我得到的代码:
networkAccess = new QNetworkAccessManager();
connect (networkAccess, SIGNAL (finished(QNetworkReply*)), this, SLOT (h_networkAccess(QNetworkReply*)));
request = new QNetworkRequest(QUrl(settings->get()->rss_link));
request->setRawHeader("User-Agent", "Mozilla/5.0 (Windows NT 5.1; rv:37.0) Gecko/20100101 Firefox/37.0");
request->setRawHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
request->setRawHeader("Accept-Encoding", "deflate");
request->setRawHeader("Connection", "keep-alive");
if (settings->get()->cookie != "")
request->setRawHeader("Cookie", settings->get()->cookie.toAscii());
networkAccess->get(*request);
也许,我的问题是 url 中的“+”符号......但我不知道。我可以提供我需要测试的完整链接。
请帮忙。