Russian Qt Forum
Ноябрь 23, 2024, 18:05 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема с URL encode decode  (Прочитано 4100 раз)
cupersuper
Гость
« : Июль 22, 2012, 21:29 »

Здравствуйте, подскажите, пожалуйста, отправляют запрос:

Код:
QNetworkAccessManager *manager = new QNetworkAccessManager(0);
QNetworkRequest request;

request.setUrl(QUrl(http://yandex.ru/showcaptcha?retpath=http%3A//yandex.ru/yandsearch%3Frpt%3Drad%26lr%3D1%26text%3D%25D0%25B2%25D0%25BE%25D1%2580%25D0%25BE%25D1%2582%25D0%25B0%2B%25D0%25B3%25D0%25B0%25D1%2580%25D0%25B0%25D0%25B6%25D0%25BD%25D1%258B%25D0%25B5%2B%25D0%25BC%25D0%25B0%25D0%25BB%25D0%25B0%25D1%2585%25D0%25BE%25D0%25B2%25D0%25BA%25D0%25B0%2B%28url%253A%2522levin-group.ru%252F437%2522%2B%257C%2Burl%253A%2522www.group.ru%252F437%2522%29&t=0/1342967850/b669280bd697370c1a3ba33bc4e7bf63&s=c37f9814904f57e8d90e0336505fc0eb));

QNetworkReply *reply = manager->get(request);

Я получаю 404, так как через сниффер видно что запрос отправляется, заменяя символы % на %25:

Код:
/showcaptcha?retpath=http%253A//yandex.ru/yandsearch%253Frpt%253Drad%2526lr%253D1%2526text%253D%2525D0%2525B2%2525D0%2525BE%2525D1%252580%2525D0%2525BE%2525D1%252582%2525D0%2525B0%252B%2525D0%2525B3%2525D0%2525B0%2525D1%252580%2525D0%2525B0%2525D0%2525B6%2525D0%2525BD%2525D1%25258B%2525D0%2525B5%252B%2525D0%2525BC%2525D0%2525B0%2525D0%2525BB%2525D0%2525B0%2525D1%252585%2525D0%2525BE%2525D0%2525B2%2525D0%2525BA%2525D0%2525B0%252B%2528url%25253A%252522levin-group.ru%25252F437%252522%252B%25257C%252Burl%25253A%252522www.levin-group.ru%25252F437%252522%2529&t=0/1342967850/b669280bd697370c1a3ba33bc4e7bf63&s=c37f9814904f57e8d90e0336505fc0e

Причём тот-же запрос, отправляясь через адресную строку браузера, таким образом не преобразуется и сервер отдаёт запрашиваемые данные. Каким образом можно предотвратить перекодирование при отправке? Спасибо.
Записан
mutineer
Гость
« Ответ #1 : Июль 22, 2012, 21:37 »

Возможно поможет
QUrl::fromPercentEncoding
или
QUrl::fromEncoded
Записан
cupersuper
Гость
« Ответ #2 : Июль 23, 2012, 06:11 »

Возможно поможет
QUrl::fromPercentEncoding
или
QUrl::fromEncoded
Спасибо за ответ

Помогло QUrl::setEncodedUrl() - как бы сообщаем что передаём уже готовую к употреблению строку
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.112 секунд. Запросов: 21.