![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
HTTP ЗАПрос [D7, WinXP]
NLO © (2004-06-21 16:31:00)Челы помогите уже мучаюсь незнай сколько
Я хочу отослать HTTP запрос а потом от сервера принять ответ в MEMO но что-то не чего не получаеться запрос то я отсылаю а вот ответ не получаю или получаю но иногда ответ об ошибки в чём проблема не пойму вот как я это делаю:
>>
procedure TForm1.Button4Click(Sender: TObject);
begin
sete:='';
sete:=sete+'GET http://registrar.rol.ru/HTTP/1.0'+#10+#13;
sete:=sete+'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Opera 7.10 [ru]'+#10+#13;
sete:=sete+'Host: registrar.rol.ru'+#10+#13;
sete:=sete+'Accept: text/html, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1'+#10+#13;
sete:=sete+'Accept-Language: en;q=1.0,ru;q=0.9'+#10+#13;
sete:=sete+'Accept-Charset: windows-1252, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1'+#10+#13;
sete:=sete+'Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0'+#10+#13;
sete:=sete+'Proxy-Connection: close'+#10+#13;
ClientSocket1.Host:='registrar.rol.ru';
ClientSocket1.Port:=80;
ClientSocket1.Open;
end;
procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
ClientSocket1.Socket.SendText(sete);
end;
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo2.Lines.Add(Socket.ReceiveText);
end;
Заранее спасибо!!!!
KirGus (2004-07-15 01:21:00) [1]здеся Фсё..делить поровну, хто придумает че-нить интересное по этому поводу...., ну я думаю знаете , что делать;)
----------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.Host:='delphimaster.ru';
ClientSocket1.Port:=80;
ClientSocket1.Active:=true;
end;
procedure TForm1.ClientSocket1Connect(Sender: TObject;Socket: TCustomWinSocket);
var
sete:string;
begin
sete:='';
sete:=sete+'GET /cgi-bin/forum.pl?id=1089671512&n=4 HTTP/1.1' +#13#10;
sete:=sete+'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*' +#13#10;
sete:=sete+'Accept-Language: ru'+#13#10;
sete:=sete+'Accept-Encoding: gzip, deflate'+#13#10;
sete:=sete+'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)'+#13#10;
sete:=sete+'Host: delphimaster.ru' +#13#10;
sete:=sete+'Connection: Keep-Alive'+#13#10#13#10;
ClientSocket1.Socket.SendText(sete);
end;
procedure TForm1.ClientSocket1Read(Sender: TObject;Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(Socket.ReceiveText);
end;
RaPToR_1 (2004-07-14 08:39:00) [2]прикольно
заполняет переменную в одной процедуре, а шлет в другой)
nikkie (2004-07-14 01:26:00) [3]>Шо не так-с?
да уж... веселый код :))
посмотри на строчки
var
sete:string;
и подумай.
Rouse_ (2004-07-14 00:52:00) [4]Мдяя... мудрые эксперименты молодых гоблинов (С) Лукьяненко
Для чего WinInet придуман?
ЗЫ: Если уж по RFC сделать не можете, то зачем на сокеты прыгаете?
Лев Ландау (2004-07-14 00:43:00) [5]Я долго анализировал поставленную задачу, но все расно не выходет
получить ответные логи с сервера в мемо...! Шо не так-с?
------------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
sete:string;
begin
sete:='';
sete:=sete+'GET / HTTP/1.1'+#13#10;
sete:=sete+'Accept: */*'+#13#10;
sete:=sete+'Accept-Language: ru'+#13#10;
sete:=sete+'Accept-Encoding: gzip, deflate'+#13#10;
sete:=sete+'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)'+#13#10;
sete:=sete+'Host: www.google.ru'+#13#10;
sete:=sete+'Connection: Keep-Alive'+#13#10;
sete:=sete+'Cookie: PREF=ID=0d77109352a3d0c6:LD=ru:TM=1088201126:LM=1088201126:S=gQF7J5DjCNZjK95J'+#13#10#13#10;
ClientSocket1.Host:='www.google.ru';
ClientSocket1.Port:=80;
ClientSocket1.Open;
end;
procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
var
sete:string;
begin
ClientSocket1.Socket.SendText(sete);
end;
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(Socket.ReceiveText);
end;
Undert (2004-06-22 21:13:00) [6]
Unit idHTTP;
HTTP: TidHTTP;
S: String;
HTTP:=tIDHTTP.Create;
Try S:=HTTP.Get(' http://registrar.rol.ru/');
Except ShowMessage('Damned!');End;
If S<>'' Memo.Lines.Text:=S;
Piter (2004-06-22 21:08:00) [7]NLO (21.06.04 16:31)
Нужно писать на #10#13, а #13#10
И при этом в самом конце должен идти двойной перевод строки. То есть
sete:=sete+'Proxy-Connection: close'+#13#10#13#10;
Palladin (2004-06-22 19:42:00) [8]http://www.codenet.ru/webmast/http/rfc2068/
SergP (2004-06-22 03:26:00) [9]
> 'GET http://registrar.rol.ru/HTTP/1.0'
Кстати вот это вроде тоже неправильно...
SergP (2004-06-22 00:20:00) [10]Только вроде бы не #10#13, а #13#10
NLO (2004-06-21 19:14:00) [11]//Reindeer Moss Eater
что то всёравно не получаеться
Reindeer Moss Eater (2004-06-21 16:35:00) [12]sete:=sete+'Proxy-Connection: close'+#10+#13 #13#10;