Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.05.03;
Скачать: CL | DM;

Вниз

WinInet - не все странички могу получить   Найти похожие ветки 

 
чебурашка картман ©   (2009-03-25 12:28) [0]

Добрый день!

Создаю соединение, пытаюсь получать странички:

const
 HTTP_PORT = 80;
 CLRF = #13#10;
 Header = "Content-Type: application/x-www-form-urlencoded" + CLRF;

 FSession := InternetOpen("DMFR", INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
 if not Assigned(FSession) then Exit;
 try
   // Попытка соединения с сервером
   FConnect := InternetConnect(FSession, PChar(FHost), HTTP_PORT, nil,
                               "HTTP/1.1", INTERNET_SERVICE_HTTP, 0, 0);
   if not Assigned(FConnect) then Exit;
   try
     // Подготавливаем запрос страницы
     Ansi := "text/*";
     FRequest := HttpOpenRequest(FConnect, "GET", PChar(FScript), "HTTP/1.1",
                                 "", @Ansi, INTERNET_FLAG_RELOAD, 0);
     if not Assigned(FConnect) then Exit;
     try
       // Добавляем заголовки
       if not (HttpAddRequestHeaders(FRequest, Header, Length(Header),
                                     HTTP_ADDREQ_FLAG_REPLACE or
                                     HTTP_ADDREQ_FLAG_ADD)) then Exit;
       // Отправляем запрос
       if not (HttpSendRequest(FRequest, nil, 0, nil, 0)) then Exit;
....

но не все, для некоторых приходит ответ Bad Request... так думаю, надо что-то еще в заголовок добавить. Что?


 
Rouse_ ©   (2009-03-25 12:53) [1]

Посмотри сниффером что отправляется из браузера и сформируй правильный заголовок запроса.


 
чебурашка картман ©   (2009-03-25 13:34) [2]


> Rouse_ ©   (25.03.09 12:53) [1]

поглядел... очень много всего отправляется... и несколько раз... и POST присутствует...
Что из отправляемого необходимо и как узнать, что этого достаточно? Если я буду формировать один и тот же заголовок, полученный сниффером, все странички получу?


 
Rouse_ ©   (2009-03-25 15:02) [3]


> Если я буду формировать один и тот же заголовок, полученный
> сниффером, все странички получу?

Нет конечно, для каждого должен быть свой, темболее у тебя идет мешанина из GET/POST


 
чебурашка картман ©   (2009-03-25 15:30) [4]


> Rouse_ ©   (25.03.09 15:02) [3]

Хорошо, а как мне узнать, какой именно заголовок нужен? Как браузеры это узнают?


 
Rouse_ ©   (2009-03-25 15:59) [5]

Они заполняют заголовок исходя из того что именно хотят получить от сервера. Более подробно по всем заголовкам есть в RFC


 
чебурашка картман ©   (2009-03-25 16:33) [6]


> Rouse_ ©   (25.03.09 15:59) [5]

Спасибо, с этим понятно, но... получить я хочу всегда только текст странички... т.е. получается, что просто не все данные в заголовок заношу(сейчас нет возможности проверить)?



Страницы: 1 вся ветка

Текущий архив: 2009.05.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
11-1200042094
=BuckLr=
2008-01-11 12:01
2009.05.03
Нашествие спамеров на форум


4-1208939351
Дмитрий С
2008-04-23 12:29
2009.05.03
Как получить Handle?


2-1237900470
IIIakal
2009-03-24 16:14
2009.05.03
Помогите плиз разобраться с синтаксисом SQL запроса


3-1220360791
Медвежонок Пятачок
2008-09-02 17:06
2009.05.03
Трункануть дату/время в дату на ноль часов ноль минут


15-1236080729
забылпароль
2009-03-03 14:45
2009.05.03
sql 2000 и таблицы на разных серверах. Какой формат имен?