Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Winsock;
type
TForm1 = class(TForm)
Button1: TButton;
Memo2: TMemo;
Label2: TLabel;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
IP: string;
Form1: TForm1;
implementation
{$R *.dfm}
function HostToIP(Name: string; var Ip: string): Boolean;
var wsdata : TWSAData;
hostName : array [0..255] of char;
hostEnt : PHostEnt;
addr : PChar;
begin WSAStartup ($0101, wsdata);
try gethostname (hostName, sizeof (hostName));
StrPCopy(hostName, Name);
hostEnt := gethostbyname (hostName);
if Assigned (hostEnt) then if Assigned (hostEnt^.h_addr_list) then begin addr := hostEnt^.h_addr_list^;
if Assigned (addr) then begin IP := Format ('%d.%d.%d.%d', [byte (addr [0]),byte (addr [1]), byte (addr [2]), byte (addr [3])]);
Result := True;
end else Result := False;
end else Result := False else begin Result := False;
end;
finally
WSACleanup;
end
end;
procedure TForm1.Button1Click(Sender: TObject);
var
s:TSocket;
Ws:TWSAData;
addr:sockaddr_in;
se, START_TEXT, STOP_TEXT:string;
login:string;
buf: array[0..123123] of Char;
buf2: array[0..123123] of Char;
sss, zhtml :string;
Shtml :Integer;
begin
HostToIp(form1.Edit1.Text, IP);
WSAStartup($101,Ws);
s:=socket(af_inet, SOCK_STREAM, 0);
addr.sin_family:=af_inet;
addr.sin_port:=htons(80);
addr.sin_addr.S_addr:=inet_addr(pchar(ip));
connect(s,addr,sizeof(addr));
se:='GET /mchat/ HTTP/1.1'#13#10+
'Host: '+form1.Edit1.Text+#13#10+
'User-Agent: Mozilla/5.0 (Windows; ; Windows NT 5.1; rv:1.9.1.2) Gecko/20090729 YB/4.2.0.c'#13#10+
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'#13#10+
'Accept-Language: ru'#13#10+
'Accept-Encoding: deflate'#13#10+
'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'#13#10+
'Keep-Alive: 300'#13#10+
'Connection: Keep-Alive' + #13#10+#13#10;
CopyMemory(@buf, PChar(se), Length(se));
send(s,buf,SizeOf(buf),0);
recv(s,buf2,SizeOf(buf2),0);
Memo2.Lines.Text:=buf2;
closesocket(s);
end;
end.
//Help...