![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
WinInet - не все странички могу получить [D7, XP]
чебурашка картман © (2009-03-25 12:28:00)Добрый день!
Создаю соединение, пытаюсь получать странички:
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... так думаю, надо что-то еще в заголовок добавить. Что?
чебурашка картман (2009-03-25 16:33:00) [1]
> Rouse_ © (25.03.09 15:59) [5]
Спасибо, с этим понятно, но... получить я хочу всегда только текст странички... т.е. получается, что просто не все данные в заголовок заношу(сейчас нет возможности проверить)?
Rouse_ (2009-03-25 15:59:00) [2]Они заполняют заголовок исходя из того что именно хотят получить от сервера. Более подробно по всем заголовкам есть в RFC
чебурашка картман (2009-03-25 15:30:00) [3]
> Rouse_ © (25.03.09 15:02) [3]
Хорошо, а как мне узнать, какой именно заголовок нужен? Как браузеры это узнают?
Rouse_ (2009-03-25 15:02:00) [4]
> Если я буду формировать один и тот же заголовок, полученный
> сниффером, все странички получу?
Нет конечно, для каждого должен быть свой, темболее у тебя идет мешанина из GET/POST
чебурашка картман (2009-03-25 13:34:00) [5]
> Rouse_ © (25.03.09 12:53) [1]
поглядел... очень много всего отправляется... и несколько раз... и POST присутствует...
Что из отправляемого необходимо и как узнать, что этого достаточно? Если я буду формировать один и тот же заголовок, полученный сниффером, все странички получу?
Rouse_ (2009-03-25 12:53:00) [6]Посмотри сниффером что отправляется из браузера и сформируй правильный заголовок запроса.