crossplatform.ru

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

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> Как получить 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
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
На что он тебе ответит полноценным HTML текстом данной страницы (remusic.by/index.php).
Для создания полноценного и удобного запроса смотри в сторону: void QHttpHeader::addValue ( const QString & key, const QString & value )
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
bynet
  опции профиля:
сообщение 7.5.2008, 16:44
Сообщение #7


Студент
*

Группа: Участник
Сообщений: 69
Регистрация: 17.3.2008
Из: Belarus
Пользователь №: 124

Спасибо сказали: 0 раз(а)




Репутация:   0  


:wacko: :wacko: :wacko: Огромное спасибо, за инфу! Не мог бы ты привести пример запроса, изночально адрес я ввожу в 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:44) *
Не мог бы ты привести пример запроса
в 6 посте в тэге коде я его и привел. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
bynet
  опции профиля:
сообщение 7.5.2008, 17:06
Сообщение #9


Студент
*

Группа: Участник
Сообщений: 69
Регистрация: 17.3.2008
Из: Belarus
Пользователь №: 124

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(ViGOur @ 7.5.2008, 16:47) *
Цитата(bynet @ 7.5.2008, 17:44) *
Не мог бы ты привести пример запроса
в 6 посте в тэге коде я его и привел. :)

И все пораметры надо формировать? а как при помощи qt этот запрос сделать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
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:
 http->setHost("www.trolltech.com"); // id == 1
http->get("/index.php");           // id == 2
Есть хороший пример получения html странички: HTTP Example

Тоесть, тебе только нужно обьединить два примера: HTTP Example и simpletextviewer, и ты реализуешь то, что хочешь. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.12.2024, 3:04