Как получить html код странички?, и отобразить его в QTextEdit |
Здравствуйте, гость ( Вход | Регистрация )
Как получить html код странички?, и отобразить его в QTextEdit |
bynet |
7.5.2008, 10:50
Сообщение
#1
|
Студент Группа: Участник Сообщений: 69 Регистрация: 17.3.2008 Из: Belarus Пользователь №: 124 Спасибо сказали: 0 раз(а) Репутация: 0 |
Как получить html код странички и отобразить его в QTextEdit( или в другом компоненте)
Сообщение отредактировал bynet - 7.5.2008, 10:51 |
|
|
ViGOur |
7.5.2008, 11:07
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Для www странички.
1. Отправляешь http запрос GET и получаешь в ответе старничку. 2. Получаешь все картинки и прочее, что нужно скачать, также GET запросом. 3. Полученные страничку и файлы сохраняешь во временные файлы или держишь в памяти, лучше в файлы. 4. Правишь html код странички с учетом путей, где у тебя лежат закаченные картинки и прочее. 5. Загоняешь html код в QTextEdit. Для локальной странички нужен только 5 пункт. Примерно так. p.s. если непонятно какие пункты и как сделать, спрашивай. |
|
|
bynet |
7.5.2008, 11:16
Сообщение
#3
|
Студент Группа: Участник Сообщений: 69 Регистрация: 17.3.2008 Из: Belarus Пользователь №: 124 Спасибо сказали: 0 раз(а) Репутация: 0 |
Не пойму зачем 4 пункт. Мне же ненадо отображение странички оффлайн.
Мне надо получить простой код. Допустим www.remusic.by/index.php в данном случае мне надо получить содержимое index.php и отобразить его(содержимое этого файла). Буду очень презнателен если ты приведеш примерчик на все 5 пунктов. У меня такое чувство что я что-то не догоняю или не понимаю. |
|
|
ViGOur |
7.5.2008, 11:24
Сообщение
#4
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
4 пункт нужен потому, что QTextEdit, если я не ошибаюсь, не умеет отображать картинки, если они находятся не на локальном диске.
В качестве реализации 5 пункта смотри пример: %QtDir%\examples\assistant\simpletextviewer. На все 5 пунктов приводить пример пока времени нет... Но могу подсказать, если что-то не будет получатся при реализации. Для начала советую тебе начать реализацию задуманного тобой с 5 пункта, чтобы убедится, что у тебя нормально читаются странички с картинками с локального диска. |
|
|
bynet |
7.5.2008, 11:29
Сообщение
#5
|
Студент Группа: Участник Сообщений: 69 Регистрация: 17.3.2008 Из: Belarus Пользователь №: 124 Спасибо сказали: 0 раз(а) Репутация: 0 |
а зачем мне отображать картинку??? мне надо код показать(содержимое файла) текст а не страничку отобразить.
Тоесть сам html код странички получить и показать, простой текст - а не страничку с преобразованным хтмл! |
|
|
ViGOur |
7.5.2008, 12:04
Сообщение
#6
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
С этого и нужно было начинать, если ты хочешь просто показать только html текcт, без преобразования к правильной html странице, то тебе нужно только:
1. Отправляешь http запрос GET и получаешь в ответе старничку. 2. Полученные данные сохраняешь во временные файлы или держишь в памяти, лучше в файл. 3. Загоняешь html код в QTextEdit. Для реализации 1 пункта тебе потребуется послать удаленному http серверу такой код: Цитата GET /index.php HTTP/1.1 На что он тебе ответит полноценным HTML текстом данной страницы (remusic.by/index.php).Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */* Accept-Language: ru UA-CPU: x86 Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; WebMoney Advisor; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648) Host: www.remusic.by Connection: Keep-Alive Для создания полноценного и удобного запроса смотри в сторону: void QHttpHeader::addValue ( const QString & key, const QString & value ) |
|
|
bynet |
7.5.2008, 16:44
Сообщение
#7
|
Студент Группа: Участник Сообщений: 69 Регистрация: 17.3.2008 Из: Belarus Пользователь №: 124 Спасибо сказали: 0 раз(а) Репутация: 0 |
Огромное спасибо, за инфу! Не мог бы ты привести пример запроса, изночально адрес я ввожу в QLineEdit и нажимаю кнопку после этого он должен создать запрос и получить html
Сообщение отредактировал bynet - 7.5.2008, 16:45 |
|
|
ViGOur |
7.5.2008, 16:47
Сообщение
#8
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
|
|
|
bynet |
7.5.2008, 17:06
Сообщение
#9
|
Студент Группа: Участник Сообщений: 69 Регистрация: 17.3.2008 Из: Belarus Пользователь №: 124 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
ViGOur |
7.5.2008, 18:57
Сообщение
#10
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Хотя все оказывается намного проще, посмотри QHttp Class Reference:
Цитата For the common HTTP requests GET, POST and HEAD, QHttp provides the convenience functions get(), post() and head(). They already use a reasonable header and if you don't have to set special header fields, they are easier to use. The above example can also be written as: Есть хороший пример получения html странички: HTTP Example
Тоесть, тебе только нужно обьединить два примера: HTTP Example и simpletextviewer, и ты реализуешь то, что хочешь. |
|
|
Текстовая версия | Сейчас: 27.12.2024, 3:04 |