Название: Помогите с http протоколом Отправлено: Maz от Ноябрь 09, 2006, 03:02 Проблемка такая. Нужно получить исходный текст странички с URL такого вида: "http://www.kinopoisk.ru/level/1/id_film/435/". Т.е. не понятно какой файл закачивать(я так понимаю что он не обязательно должен быть index.*, все зависит от настроек веб-сервера). Еще не понятно как быть с редиректами, а особенно с java-скриптовыми редирактами. Можно это как-то реализовать?
Название: Помогите с http протоколом Отправлено: DenKor от Ноябрь 09, 2006, 11:25 должен быть index.htm,index.html. Все остальное зависит от настроек браузера клиента и интерпритации их сервером.
А в чем вопрос собственно. На твой пакет с запросом странички "http://www.kinopoisk.ru/level/1/id_film/435/", тебе придет пакет html кодом отображаемой странички. Название: Помогите с http протоколом Отправлено: SLiDER от Ноябрь 09, 2006, 13:24 Цитата: "DenKor" А в чем вопрос собственно. На твой пакет с запросом странички "http://www.kinopoisk.ru/level/1/id_film/435/", тебе придет пакет html кодом отображаемой странички. Именно так. В большинстве случаев :wink: Цитата: "Maz" Еще не понятно как быть с редиректами, а особенно с java-скриптовыми редирактами. Можно это как-то реализовать? А вот это уже сами, ручками. Название: Помогите с http протоколом Отправлено: Maz от Ноябрь 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" мне приходит пустой файл. Если у Вас есть какой-то примерчик поделитесь пожалуйста. Название: Помогите с http протоколом Отправлено: Вудруф от Ноябрь 10, 2006, 08:02 index.html или index.htm не обязательны
Получай "http://www.kinopoisk.ru/level/1/id_film/435/" и разбирай руками заголовки HTTP, элементы META и JavaScript-сценарии на <BODY onload="..."> и <SCRIPT...> Название: Помогите с http протоколом Отправлено: Maz от Ноябрь 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 байт. Никак не могу понять почему. Помогите разобраться. Название: Помогите с http протоколом Отправлено: bigirbis от Ноябрь 11, 2006, 18:16 А QHttp::State какой?
Название: Помогите с http протоколом Отправлено: Dendy от Ноябрь 11, 2006, 18:17 Скорее всего файл просто не бьІл предварительно открьІт для записи. QHttp ведь получает ссьІлку не на QFile, а на QIODevice. Попробуй загрузить в память, а не в файл.
Название: Помогите с http протоколом Отправлено: Maz от Ноябрь 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(). Название: Помогите с http протоколом Отправлено: Dendy от Ноябрь 12, 2006, 21:20 А чему равен флаг error, что приходит с сигналом done( bool error )?
Название: Помогите с http протоколом Отправлено: Maz от Ноябрь 13, 2006, 20:12 error=false
добавлено спустя 17 часов 45 минут: Неужели ни у кого не получилось получить страничку? Название: Помогите с http протоколом Отправлено: Вячеслав от Ноябрь 13, 2006, 20:22 А чем стандартный пример не катит ?
examples\network\http\ ? Нормально работает ..... вроде ..... Ы ? Название: Помогите с http протоколом Отправлено: Maz от Ноябрь 14, 2006, 20:21 Лично у меня стандартный пример не закачивает страничку http://www.kinopoisk.ru/level/1/id_film/435/.
Название: Помогите с http протоколом Отправлено: Dendy от Ноябрь 14, 2006, 22:43 Аналогично, свой пример тоже. Наверное, ето особенности HTTP протокола. Интересно бьІло бьІ посмотреть на трафик с заспросами броузеров.
Название: Помогите с http протоколом Отправлено: Вячеслав от Ноябрь 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 был ;) Название: Помогите с http протоколом Отправлено: Maz от Ноябрь 15, 2006, 02:56 Особенности класса Qhttp? С под Delphi я эту страничку получаю без проблем.
Жаль конечно что тролли тут не дорабатоли. Прийдеться либо возвращатьсяк Delphi либо к wxWidget. У wxWindget класс тоже не ахти, но там я уже его полностью перелапатил. Но очень хотелось бы остаться с QT уж очень приглянулась мне эта библиотека. добавлено спустя 12 минут: Цитата: "Вячеслав" Цитата: "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 был ;) Название: Помогите с http протоколом Отправлено: Вудруф от Ноябрь 15, 2006, 07:44 Может, они как-нибудь проверяют user agent? И запрещают вход недопустимым...
Тогда это скорее проблемы сайта, а не библиотеки/программы. Название: Помогите с http протоколом Отправлено: Вячеслав от Ноябрь 15, 2006, 09:17 Цитата: "Вудруф" Может, они как-нибудь проверяют user agent? И запрещают вход недопустимым... Тогда это скорее проблемы сайта, а не библиотеки/программы. Да ;) вчера на это интелекта не хватило ;) Цитировать wget: debug support not compiled in. --09:15:09-- http://www.kinopoisk.ru/level/1/id_film/435/ => `index.html.2' Resolving www.kinopoisk.ru... 85.192.32.110 Connecting to www.kinopoisk.ru[85.192.32.110]:80... connected. HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] 0K .......... .......... .......... .......... .......... 55.19 KB/s 50K .......... ....... 63.93 KB/s 09:15:11 (57.17 KB/s) - `index.html.2' saved [68614] а всего-то Цитировать wget -vd --user-agent=opera http://www.kinopoisk.ru/level/1/id_film/435/ агента подставил ;) Название: Помогите с http протоколом Отправлено: Dendy от Ноябрь 15, 2006, 15:49 А кто мешает продебажить Qt-код, посмотреть что не так они отправляют? Жаль сам не силён в http, так бьІ обязательно залез внутрь. Советую написать как баг Троллям.
Название: Помогите с http протоколом Отправлено: Maz от Ноябрь 15, 2006, 19:00 Значит если послать заголовог и в нем поставить user-agenta = Opera, значит должно работать. Вечером попробую.
Тогда что же посылает IE? Сайт в IE то просматривается. Название: Помогите с http протоколом Отправлено: Вячеслав от Ноябрь 15, 2006, 21:59 Цитата: "Maz" Значит если послать заголовог и в нем поставить user-agenta = Opera, значит должно работать. Вечером попробую. Тогда что же посылает IE? Сайт в IE то просматривается. да и в опере тож .... Так-что скорее всего можно просто mozilla и усе будет хокей Название: Помогите с http протоколом Отправлено: SLiDER от Ноябрь 16, 2006, 22:23 Цитата: "Maz" Значит если послать заголовог и в нем поставить user-agenta = Opera, значит должно работать. Вечером попробую. Тогда что же посылает IE? Сайт в IE то просматривается. Подозреваю, что сайт просто проверяет user-agent-а и если неузнает его, то просто посылает вас нафиг. Таким Web-девелоперам (разработчикам сайта) руки бы поотрывать. :evil: Название: Re: Помогите с http протоколом Отправлено: Vexator от Август 12, 2010, 08:29 некропостер я, ага )
проблема эта же... методом GET получить страницу не удается, собственно об этом прямо говорится в ассистенте int QHttp::get ( const QString & path, QIODevice * to = 0 ) Sends a get request for path to the server set by setHost() or as specified in the constructor. path must be an absolute path like /index.html or an absolute URI like http://www.trolltech.com/index.html. задача стоит скачать страницу сайта, к примеру www.ya.ru если в качестве пути задать полное имя www.ya.ru/index.html, то скачает без проблем... как сделать это, не зная полного пути до файла? Qt 4.2.3 Название: Re: Помогите с http протоколом Отправлено: SimpleSunny от Август 12, 2010, 09:45 некропостер я, ага ) проблема эта же... методом GET получить страницу не удается, собственно об этом прямо говорится в ассистенте int QHttp::get ( const QString & path, QIODevice * to = 0 ) Sends a get request for path to the server set by setHost() or as specified in the constructor. path must be an absolute path like /index.html or an absolute URI like http://www.trolltech.com/index.html. задача стоит скачать страницу сайта, к примеру www.ya.ru если в качестве пути задать полное имя www.ya.ru/index.html, то скачает без проблем... как сделать это, не зная полного пути до файла? Qt 4.2.3 Указать в качестве параметров host = www.ya.ru path = / Название: Re: Помогите с http протоколом Отправлено: Vexator от Август 12, 2010, 11:50 некропостер я, ага ) проблема эта же... методом GET получить страницу не удается, собственно об этом прямо говорится в ассистенте int QHttp::get ( const QString & path, QIODevice * to = 0 ) Sends a get request for path to the server set by setHost() or as specified in the constructor. path must be an absolute path like /index.html or an absolute URI like http://www.trolltech.com/index.html. задача стоит скачать страницу сайта, к примеру www.ya.ru если в качестве пути задать полное имя www.ya.ru/index.html, то скачает без проблем... как сделать это, не зная полного пути до файла? Qt 4.2.3 Указать в качестве параметров host = www.ya.ru path = / честно говоря, это первое что пришло на ум, и не работает... ( Название: Re: Помогите с http протоколом Отправлено: SimpleSunny от Август 12, 2010, 13:42 Не знаю, что у вас там не работает, у меня все работает.
Код
Название: Re: Помогите с http протоколом Отправлено: Vexator от Август 13, 2010, 02:02 Вот я лол, опускал в адресе www. и он тупил...
спасибо, Ваш пост натолкнул на мысль :) |