Название: (РЕШЕНО) Как получить содержимое веб-страницы? Отправлено: PinkPanther от Ноябрь 09, 2009, 15:52 Господа, возник вроде как простой вопрос, но я пока не смог его решить.
Имеются куки в виде текста (переменная1=значение; переменная2=значение). Нужно запросить страницу, передав куки в запросе, и получить код страницы. Как это сделать средствами Qt? Название: Re: Как получить содержимое веб-страницы? Отправлено: kibsoft от Ноябрь 09, 2009, 15:59 Сам не пробовал, но думаю, что смотреть надо в строну классов QWebPage, QWebView..посмотри в документации про QtWebKit Module.
Название: Re: Как получить содержимое веб-страницы? Отправлено: PinkPanther от Ноябрь 09, 2009, 16:06 Сам не пробовал, но думаю, что смотреть надо в строну классов QWebPage, QWebView..посмотри в документации про QtWebKit Module. Спасибо! Вообще, ковыряюсь в них с утра - QWebView вроде как ничего содержательного, кроме ссылки на QWebPage, не выдаёт. QWebPage, в свою очередь, даёт ссылку на QWebFrame, который имеет 2 функции - toHtml() и toPlainText(). Первая возвращает только голый текст со страницы, вторая - подобие текста с разметкой, но с урезанным числом тэгов (в частности, нет <form>, а мне нужно получить значение оттуда). Не могу поверить, что функция, которая реализована во всех браузерах (исходный код - Ctrl-U), здесь недоступна. Название: Re: Как получить содержимое веб-страницы? Отправлено: ecspertiza от Ноябрь 09, 2009, 16:13 Ешё как вариант поковыряй QNetworkAccess и ижисним, там что то было для передачи куков, страницу ты от него получишь если я не ошибаюсь в чистом html.
Название: Re: Как получить содержимое веб-страницы? Отправлено: kibsoft от Ноябрь 09, 2009, 16:22 Да и еще поковыряйся в исходниках Qt Demo Browser qt\demos\browser, он умеет исходный код страницы выдавать :)
В файле browsermainwindow.cpp нашел Код: void BrowserMainWindow::slotViewPageSource() Название: Re: Как получить содержимое веб-страницы? Отправлено: catprog от Ноябрь 09, 2009, 20:11 QHttp и QHttpRequestHeader
только им на смену вроде будут или есть уже другие классы, в новых версиях QT Название: Re: Как получить содержимое веб-страницы? Отправлено: PinkPanther от Ноябрь 09, 2009, 20:16 Код: QString markup = currentTab()->page()->mainFrame()->toHtml(); Спасибо большое! Собственно, примерно так и делал, но допустил ошибку в другом месте. А вот проверить никак не мог - о QPlainTextEdit забыл напрочь. Так бы и не догадался им воспользоваться. Вроде прога заработала, во всяком случае, в полуручном режиме - куки ловлю при авторизации сниффером и скармливаю в окошко, а она их потом пихает в заголовок... :) Цитировать Ешё как вариант поковыряй QNetworkAccess и ижисним, там что то было для передачи куков, страницу ты от него получишь если я не ошибаюсь в чистом html Вероятно, это более грамотный вариант, чем брать страницу из браузера - долго не мог въехать, что QNetworkReply по сути являет собой буфер. Спасибо за совет! |