![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Http запрос.
Light Elf © (2002-02-22 08:29:00)Использую TNMHTTP (пробовал TidTCPClient).
Запрос на локальной машине отрабатывается отлично.
Пробую запросить страницу из инета - возвращается страница пройвайдерского проксика с ошибкой - TimeOut.
Если запросить в браузере ту же страницу - все ок.
В чем грабли?
Ghost. (2002-02-22 09:38:00) [1]Конкретно в первом случае если с1 это сокетный клиент то запрос не полный нужно по RFC составить весь.. так он вообще работать не должен..потом процедуру отсылки лучше вынести на событие коннекта..потому, что сокеты могут не успеть соединиться...
или хотябы так..
procedure TForm1.Button1Click(Sender: TObject);
var str:string;
begin
s.Port:="80";
s.Addr:="www.host.ru";
s.Connect;
While s.State<>wsConnected do
application.ProcessMessages;
str:="GET http://chat.chat.ru/?....HTTP/1.0"#13#10;
str:=str+"Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, */*"#13#10;
str:=str+"Accept-Language: ru"#13#10;
str:=str+"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461)"#13#10;
str:=str+"Host: chat.chat.ru"#13#10;
str:=str+"Proxy-Connection: Keep-Alive"#13#10#13#10;
s.SendStr(str);
end;
Light Elf (2002-02-22 08:57:00) [2]TidTCPClient:
c1.Host := "www.host.ru";
c1.Port := 80;
try
c1.Connect;
c1.SendCmd("get /cgi-bin/stat.cgi?");
Memo1.Lines.Text := c1.ReadString(c1.CurrentReadBufferSize);
c1.Disconnect;
except
end;
TNMHTP:
try
H1.Get("vad/cgi-bin/buh/serv.pl");
H1.Connect;
Memo1.Lines.Add(H1.Body);
H1.Disconnect;
except
end;
Ghost. (2002-02-22 08:42:00) [3]Ты покажи как ты это делаешь..