crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в webView и редирект 302
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
cupersuper Дата 21.7.2012, 22:34
  Здравствуйте, подскажите, пожалуйста, как решить проблему:

Загружаю страницу
ui->webView->load(QUrl("http://yandex.ru/yandsearch?text=myquery"));
on_webView_loadFinished(bool ){
     QString htmlString =  ui->webView->page()->mainFrame()->toHtml();
}

Работает хорошо до тех пор, пока не нарвётся на каптчу, тогда программа отправляет/получает ДВА запроса/ответа:

1. ЗАПРОС
GET /yandsearch?text=myquery&lr=213 HTTP/1.1

1. ОТВЕТ
HTTP/1.1 302 Found
Location http://yandex.ru/showcaptcha?retpath=http%3A//yandex.ru/yandsearch%3Ftext%3Dmyquery%26lr%3D213&t=0/1342896286/cb57413c49b64d013769e8c3391fc56c&cc=1

В этом ответе вместо html пробелы, которые QWebView загружает в htmlString

2. ЗАПРОС
GET /showcaptcha?retpath=http%3A//yandex.ru/yandsearch%3Ftext%3Dmyquery%26lr%3D213&t=0/1342896286/cb57413c49b64d013769e8c3391fc56c&cc=1 HTTP/1.1

2. ОТВЕТ
HTTP/1.1 200 OK

В этом ответе отдаёт требуемые данные с картинкой каптчи, но WebView их уже не грузит

Вопрос: Как получить HTML второго запроса после редиректа, т.к. webView->page()->mainFrame()->toHtml() отдаёт только от первого.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.4.2024, 20:46