0

Я использую QT 4.8.2 для своего проекта. Моя проблема заключается в том, что QTNetworkAccess не может правильно получить мой url (или декодировать). Если я вставляю свой url в браузер, я вижу, какой результат в браузере отличается от того, что я вижу в результате (QNetworkreply).Не удается получить URL-адрес от QNetworkAccessManager (результат отличается тем, что я вижу в моем браузере)

Это пример URL мне нужно получить: * 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 ... Но я не знаю. Я могу предоставить полную ссылку, что мне нужно для тестирования.

Пожалуйста, помогите.

+0

Несвязанный комментарий: Вы просачиваете объект запроса. Нет необходимости создавать его в куче, вместо этого создавайте его в стеке. –

+0

Что возвращается QNAM? ошибка? –

+0

QNAM вернул данные без ошибок, но, я думаю, без параметров (т. Е. У меня есть тот же результат в браузере, когда я получаю https: // myhost/folder/folder/rss). –

ответ

0

Если URL уже закодирован, используйте QUrl::fromEncoded Из дока:

Обрабатывает данные и возвращает соответствующий QUrl. вход считается в кодированном виде, содержащем только символы ASCII.

+0

Тот же результат ... :(Что я делаю неправильно? –

+0

Каков вывод 'qDebug() << QUrl (settings-> get() -> rss_link)' ? и пытались ли вы использовать другие инструменты, такие как cURL, чтобы узнать, где проблема? – ahmed

+0

url Мне нужно захватить https://www.upwork.com/jobs/rss?cn1[]=Web%2C+Mobile+%26 + Software + Дев & CN2 [] = Web + Разработка и т [] = 0 & т [] = 1 & Dur [] = 0 & Dur [] = 1 & Dur [] = 13 & Dur [] = 26 & Dur [] = нет & WL [] = 10 & з.д. [] = 30 & WL [] = нет & TBA [] = 0 & tba [] = 1-9 & tba [] = 10- & exp [] = 1 & exp [] = 2 & exp [] = 3 & amount [] = Min & amount [] = Max & sortBy = s_ctime + desc. Например, если получить его через QNAM, я вижу, что параметры get игнорируются. –