Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> получение HTTP-ответа 
:(
    Опции темы
_hunter
Дата 16.9.2004, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



какой компонент может перед началом получения информации выдать заголовок ответа?
Цитата

Status1 10:11:02 16.9.2004 Состояние закачки - [Ожидание в очереди]
Info2          10:11:02 16.9.2004 Еще одна секция запущена
Info3  10:11:02 16.9.2004 Соединяемся с forum.vingrad.ru (69.64.33.189:80)
Output4 10:11:02 16.9.2004 GET / HTTP/1.0
Output4   User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)
Output4   Accept: */*
Output4   Referer: http://forum.vingrad.ru/
Output4   Host: forum.vingrad.ru
Input 5 10:11:03 16.9.2004 HTTP/1.0 200 OK
Input 5   Date: Tue, 07 Sep 2004 08:22:27 GMT
Input 5   Server: Apache/2.0.40 (Red Hat Linux)
Input 5   Last-Modified: Sun, 18 Jul 2004 18:58:52 GMT
Input 5   ETag: "104167-1e73-a4b1f300"
Input 5   Accept-Ranges: bytes
Input 5   Content-Length: 7795
Input 5   Content-Type: text/html
Input 5   Connection: close
Status6 10:11:03 16.9.2004 Состояние закачки - [Закачка]

(тот что Input5)

Заранее благодарю за ответ.

Это сообщение отредактировал(а) _hunter - 16.9.2004, 10:15


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Girder
Дата 16.9.2004, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 31
Всего: 155



Код
procedure TForm1.Button1Click(Sender: TObject);
begin
try
 IdHTTP1.Head('http://forum.vingrad.ru');
 Memo1.Lines.Add(IdHTTP1.ResponseText);
 Memo1.Lines.Add('Date:'+DateToStr(IdHTTP1.Response.Date));
 Memo1.Lines.Add('Server:'+IdHTTP1.Response.Server);
 Memo1.Lines.Add('Last-Modified:'+DateToStr(IdHTTP1.Response.LastModified));
 Memo1.Lines.Add('Content-Length:'+IntToStr(IdHTTP1.Response.ContentLength));
 Memo1.Lines.Add('Content-Type:'+IdHTTP1.Response.ContentType);
 Memo1.Lines.Add('____________________________________________');
 memo1.Lines.Add(IdHTTP1.Response.RawHeaders.Text);
 except
 end;
end;


Удачи.


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
_hunter
Дата 16.9.2004, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



пробывал я так -- не совсем катит: некоторые сервера на Head() не реагируют sad.gif


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Girder
Дата 16.9.2004, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 31
Всего: 155



Цитата
некоторые сервера на Head() не реагируют
Например... (т.е. какие?)


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
_hunter
Дата 16.9.2004, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



хм... на-вскидку не скажу, но помню что такие были smile.gif
( приду домой -- поищу )


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Girder
Дата 16.9.2004, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 31
Всего: 155



А ты попробуй для них вместо метода Head использовать метод Get(он самый старый и самый распространненый метод smile.gif ) и ответ проанализировать или самому или доверится ну например тому же idHttp:
Код
procedure TForm1.Button1Click(Sender: TObject);
begin
try
 idHTTP1.Response.Clear;
 idHTTP1.Get('http://forum.vingrad.ru');
 Memo1.Lines.Add(IdHTTP1.ResponseText);
 Memo1.Lines.Add('Date:'+DateToStr(IdHTTP1.Response.Date));
 Memo1.Lines.Add('Server:'+IdHTTP1.Response.Server);
 Memo1.Lines.Add('Last-Modified:'+DateToStr(IdHTTP1.Response.LastModified));
 Memo1.Lines.Add('Content-Length:'+IntToStr(IdHTTP1.Response.ContentLength));
 Memo1.Lines.Add('Content-Type:'+IdHTTP1.Response.ContentType);
 Memo1.Lines.Add('____________________________________________');
 memo1.Lines.Add(IdHTTP1.Response.RawHeaders.Text);
except
end;
if idHTTP1.Connected then idHTTP1.Disconnect;
end;


PS: Не забудь поискать smile.gif

Удачи.


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
_hunter
Дата 16.9.2004, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



Get() не подходит -- если на том конце что-то большое то придется загребать ( а не хочется smile.gif )


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Girder
Дата 16.9.2004, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 31
Всего: 155



Вот тебе еще одна реализация:
Код
uses ..., ScktComp;
...
procedure TForm1.Button1Click(Sender: TObject);
var ii:TClientSocket;
begin
ii:=TClientSocket.Create(Self);
ii.Host:='forum.vingrad.ru';
ii.Port:=80;
ii.OnRead:=ClientSocketRead;
ii.Open;
while ii.Active=false do Application.ProcessMessages;
ii.Socket.SendText('HEAD / HTTP/1.0'+#10+'Host: 0.0.0.0'+#13+#10+#13+#10);//или GET(Да хоть "GGGGG")
while ii.Active=true do Application.ProcessMessages;
end;

procedure TForm1.ClientSocketRead(Sender: TObject;Socket: TCustomWinSocket);
var S:string;
   i:integer;
begin
S:=Socket.ReceiveText;
i:=pos('<',S);
if i<>0 then s:=Copy(S,1,i-1);
Memo1.Text:=S;
socket.Close;
end;


Удачи.


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0531 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.