Как запросить страницу с сайта
Автор: Fantasist
WEB-сайт: http://forum.vingrad.ru
unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ScktComp;
const
Request: AnsiString = 'GET / HTTP/1.1' + #0$D#0$A+
'Accept: application/vnd.ms-excel, application/msword, */*' + #0$D#0$A+
'Accept-Language: en-us' + #0$D#0$A+
'Accept-Encoding: gzip, deflate' + #0$D#0$A+
'User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)' + #0$D#0$A+
'Host: vingrad.com' + #0$D#0$A+
'Connection: Keep-Alive' + #0$D#0$A+#0$D#0$A;
type
TForm1 = class(TForm)
Skt: TClientSocket;
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure SktRead(Sender: TObject; Socket: TCustomWinSocket);
procedure SktConnect(Sender: TObject; Socket: TCustomWinSocket);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
Skt.Host := 'vingrad.ru';
Skt.Port := 80;
Skt.Open;
end;
procedure TForm1.SktRead(Sender: TObject; Socket: TCustomWinSocket);
begin
Memo1.Lines.Text := Memo1.Lines.Text + Socket.ReceiveText;
end;
procedure TForm1.SktConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
Socket.SendText(Request);
end;
end.
Request - это запрос который посылает мой IE5.
В принципе, по протоколу HTTP он может ограничиваться:
'GET / HTTP/1.1'+#13+#13. Если хотите запросить оределенный документ: 'GET /<полный путь> HTTP/1.1'+#13+#13.
Конечно, всегда можно воспользоваться готовыми компонентами.
|