Russian Qt Forum
Ноябрь 23, 2024, 22:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Помогите с http протоколом  (Прочитано 18478 раз)
Maz
Гость
« Ответ #15 : Ноябрь 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 был Подмигивающий
Я думал wget - крутая штука. обычный FlashGet закачивает страничку без проблем.
Записан
Вудруф
Гость
« Ответ #16 : Ноябрь 15, 2006, 07:44 »

Может, они как-нибудь проверяют user agent? И запрещают вход недопустимым...
Тогда это скорее проблемы сайта, а не библиотеки/программы.
Записан
Вячеслав
Гость
« Ответ #17 : Ноябрь 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]

а всего-то
Цитировать

агента подставил Подмигивающий
Записан
Dendy
Гость
« Ответ #18 : Ноябрь 15, 2006, 15:49 »

А кто мешает продебажить Qt-код, посмотреть что не так они отправляют? Жаль сам не силён в http, так бьІ обязательно залез внутрь. Советую написать как баг Троллям.
Записан
Maz
Гость
« Ответ #19 : Ноябрь 15, 2006, 19:00 »

Значит если послать заголовог и в нем поставить user-agenta = Opera, значит должно работать. Вечером попробую.
Тогда что же посылает IE? Сайт в IE то просматривается.
Записан
Вячеслав
Гость
« Ответ #20 : Ноябрь 15, 2006, 21:59 »

Цитата: "Maz"
Значит если послать заголовог и в нем поставить user-agenta = Opera, значит должно работать. Вечером попробую.
Тогда что же посылает IE? Сайт в IE то просматривается.

да и в опере тож .... Так-что скорее всего можно просто mozilla и усе будет хокей
Записан
SLiDER
Гость
« Ответ #21 : Ноябрь 16, 2006, 22:23 »

Цитата: "Maz"
Значит если послать заголовог и в нем поставить user-agenta = Opera, значит должно работать. Вечером попробую.
Тогда что же посылает IE? Сайт в IE то просматривается.


Подозреваю, что сайт просто проверяет user-agent-а и если неузнает его, то просто посылает вас нафиг. Таким Web-девелоперам (разработчикам сайта) руки бы поотрывать. :evil:
Записан
Vexator
Гость
« Ответ #22 : Август 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
Записан
SimpleSunny
Гость
« Ответ #23 : Август 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 = /
Записан
Vexator
Гость
« Ответ #24 : Август 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 = /

честно говоря, это первое что пришло на ум, и не работает... (
Записан
SimpleSunny
Гость
« Ответ #25 : Август 12, 2010, 13:42 »

Не знаю, что у вас там не работает, у меня все работает.

Код
C++ (Qt)
http = new QHttp(this);
connect(http, SIGNAL(done(bool)), this, SLOT(done(bool)));
http->setHost("www.ya.ru");
 
QHttpRequestHeader header;
header.setRequest("GET", "/");
header.setValue("Host", "www.ya.ru");
QStringList list = ui->headers->toPlainText().split('\n', QString::SkipEmptyParts);
for (int i = 0; i < list.size(); ++i)
   header.setValue(list[i].section(": ", 0, 0), list[i].section(": ", 1));
 
http->request(header);
Записан
Vexator
Гость
« Ответ #26 : Август 13, 2010, 02:02 »

Вот я лол, опускал в адресе www. и он тупил...
спасибо, Ваш пост натолкнул на мысль Улыбающийся
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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