Russian Qt Forum
Июнь 16, 2024, 02:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Помогите с http протоколом  (Прочитано 18278 раз)
Maz
Гость
« : Ноябрь 09, 2006, 03:02 »

Проблемка такая. Нужно получить исходный текст странички с URL такого вида: "http://www.kinopoisk.ru/level/1/id_film/435/". Т.е. не понятно какой файл закачивать(я так понимаю что он не обязательно должен быть index.*, все зависит от настроек веб-сервера). Еще не понятно как быть с редиректами, а особенно с java-скриптовыми редирактами. Можно это как-то реализовать?
Записан
DenKor
Гость
« Ответ #1 : Ноябрь 09, 2006, 11:25 »

должен быть index.htm,index.html. Все остальное зависит от настроек браузера клиента и интерпритации их сервером.

А в чем вопрос собственно.
На твой пакет с запросом странички "http://www.kinopoisk.ru/level/1/id_film/435/", тебе придет пакет html кодом отображаемой странички.
Записан
SLiDER
Гость
« Ответ #2 : Ноябрь 09, 2006, 13:24 »

Цитата: "DenKor"
А в чем вопрос собственно.
На твой пакет с запросом странички "http://www.kinopoisk.ru/level/1/id_film/435/", тебе придет пакет html кодом отображаемой странички.

Именно так. В большинстве случаев  :wink:

Цитата: "Maz"
Еще не понятно как быть с редиректами, а особенно с java-скриптовыми редирактами. Можно это как-то реализовать?

А вот это уже сами, ручками.
Записан
Maz
Гость
« Ответ #3 : Ноябрь 09, 2006, 19:03 »

При использовании стандартного примера по запросам
"http://www.kinopoisk.ru/level/1/id_film/435/index.html" и
"http://www.kinopoisk.ru/level/1/id_film/435/index.htm" мне приходит пустой файл.

добавлено спустя 31 секунду:

 При использовании стандартного примера по запросам
"http://www.kinopoisk.ru/level/1/id_film/435/index.html" и
"http://www.kinopoisk.ru/level/1/id_film/435/index.htm" мне приходит пустой файл.

Если у Вас есть какой-то примерчик поделитесь пожалуйста.
Записан
Вудруф
Гость
« Ответ #4 : Ноябрь 10, 2006, 08:02 »

index.html или index.htm не обязательны
Получай "http://www.kinopoisk.ru/level/1/id_film/435/" и разбирай руками заголовки HTTP, элементы META и JavaScript-сценарии на <BODY onload="..."> и <SCRIPT...>
Записан
Maz
Гость
« Ответ #5 : Ноябрь 11, 2006, 16:07 »

Такой код:
   http.setHost("www.nbis.com.ua");
   http.get("/index.php", &file);

у меня отрабатывает, и приходит файл со странице, а вот
   http.setHost("www.kinopoisk.ru");
   http.get("/level/1/id_film/435/index.htm", &file);
тоже отрабатывает без ошибок, но файл приходит 0 байт.
Никак не могу понять почему. Помогите разобраться.
Записан
bigirbis
Гость
« Ответ #6 : Ноябрь 11, 2006, 18:16 »

А QHttp::State какой?
Записан
Dendy
Гость
« Ответ #7 : Ноябрь 11, 2006, 18:17 »

Скорее всего файл просто не бьІл предварительно открьІт для записи. QHttp ведь получает ссьІлку не на QFile, а на QIODevice. Попробуй загрузить в память, а не в файл.
Записан
Maz
Гость
« Ответ #8 : Ноябрь 12, 2006, 19:21 »

Когда приходит сигнал done() State=5 (Connected).
Попробовал вот так:
   buffer = new QBuffer(&byteArray);
   buffer->open(QIODevice::WriteOnly);
   http.setHost("www.kinopoisk.ru");
   http.get("/level/1/id_film/435/", buffer);
Тоже ничего не получилось, byteArray.size = 0.
Самое главное что сигнал done() приходит практически сразу после http.get().
Записан
Dendy
Гость
« Ответ #9 : Ноябрь 12, 2006, 21:20 »

А чему равен флаг error, что приходит с сигналом done( bool error )?
Записан
Maz
Гость
« Ответ #10 : Ноябрь 13, 2006, 20:12 »

error=false

добавлено спустя 17 часов 45 минут:

 Неужели ни у кого не получилось получить страничку?
Записан
Вячеслав
Гость
« Ответ #11 : Ноябрь 13, 2006, 20:22 »

А чем стандартный пример не катит ?
examples\network\http\  ? Нормально работает ..... вроде ..... Ы ?
Записан
Maz
Гость
« Ответ #12 : Ноябрь 14, 2006, 20:21 »

Лично у меня стандартный пример не закачивает страничку http://www.kinopoisk.ru/level/1/id_film/435/.
Записан
Dendy
Гость
« Ответ #13 : Ноябрь 14, 2006, 22:43 »

Аналогично, свой пример тоже. Наверное, ето особенности HTTP протокола. Интересно бьІло бьІ посмотреть на трафик с заспросами броузеров.
Записан
Вячеслав
Гость
« Ответ #14 : Ноябрь 15, 2006, 00:35 »

Цитата: "Dendy"
Аналогично, свой пример тоже. Наверное, ето особенности HTTP протокола. Интересно бьІло бьІ посмотреть на трафик с заспросами броузеров.

Цитировать
--00:33:21--  http://www.kinopoisk.ru/level/1/id_film/435/
           => `index.html.1'
Resolving www.kinopoisk.ru... 85.192.32.110
Connecting to www.kinopoisk.ru[85.192.32.110]:80... connected.
HTTP request sent, awaiting response... 403 Forbidden
00:33:22 ERROR 403: Forbidden.

Мя ? Собственно послали нафик .....
ЗЫ это wget был Подмигивающий
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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