Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Indy: как считать первых N байт и разорвать конект


Автор: DmitryHT 3.10.2007, 16:48
Indy: как считать первых N байт и разорвать конект?
(Используется IdHttp.Get, Indy 9-ка  smile )

п.с. как узнать время последнего обновления запрашиваемого файла?

Спс!

Автор: Snowy 4.10.2007, 10:39
Код

  http:=TIdHttp.Create(nil);
  try
    http.Head(url);
    s := http.Response.RawHeaders.Values['Last-Modified'];
    ShowMessage(s);
  finally
    http.Free;
  end;

Автор: DmitryHT 4.10.2007, 12:09
спасибо!

Автор: stab 4.10.2007, 12:17
Цитата(DmitryHT @  3.10.2007,  20:48 Найти цитируемый пост)
Indy: как считать первых N байт и разорвать конект?

если тебя интересуют только заголовки, есть событие OnHeadersAvailable, если заголовки не те, то в нём же и оборвать коннект. а если имеено данные, то по логике связка OnWorkBegin + OnWork должна подойти. правда точно N байт не получится, для этой задачи скорее обычные сокеты подходят.

Автор: Snowy 4.10.2007, 14:37
stab, суть не в обрыве коннекта, а в получении только заголовка http, а не всего файла.
Для этого есть TIdHTTP.Head и рвать ничего не нужно.

Автор: stab 5.10.2007, 17:48
Snowy, к сожалению HEAD не всегда корректно срабатывает, особенно для динамического контента. верный способ - делать GET и рвать коннект в OnHeadersAvailable.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)