Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > winsock POST


Автор: InfectedM 10.11.2007, 20:55
Нужен пример отправки  POST через Winsock 

искал,но ничего не нашел,может кто-нибудь написать пример,или скинуть ссылочку где написано
заранее спасибо
отправить нужно вот это

Код

POST http://www.xxx.ru HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*
Referer: www.xxx.ru
Accept-Language: ru
Content-Type: application/x-www-form-urlencoded
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.8 (build 01709); .NET CLR 1.1.4322)
Host: www.xxx.ru
Content-Length: 61
Pragma: no-cache
login=aaaaa&password=bbbb&cookieuser=1&submit=%C2% EE%E9%F2%E8



Автор: InfectedM 11.11.2007, 22:47
http://lalafalse.h18.ru/ форма
http://slil.ru/25090984 исходник...

Посмотри плз,почему-то ничего не отправляется



Код



var
  Form1: TForm1;
  wsdata : TWSAData;
host:string;
adr: sockaddr_in;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  wsaStartup(MAKEWORD(2,2), wsData);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
wsaCleanup;
end;


function Resolve(host: string):string;
var
IP:string;
hostEnt : PHostEnt;
hostName : array [0..255] of char;
addr : PChar;
begin
result:=host;
try
strpcopy(hostname, host);
hostEnt := gethostbyname(hostName);
if Assigned(hostEnt) and Assigned(hostEnt^.h_addr_list) then
begin
addr:=hostEnt^.h_addr_list^;
IP:=Format('%d.%d.%d.%d', [byte(addr[0]), byte(addr[1]), byte(addr[2]), byte(addr[3])]);
end;
result:=ip;
except
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
I:integer;
req,data: string;
buf: array[0..500] of char;
begin
host :=resolve('test1.ru');
adr.sin_addr.s_addr :=inet_addr(pchar(host));
adr.sin_family :=AF_INET;
adr.sin_port :=htons(80);

 req:='GET http://test1.ru/1.php?HDD=f333333&CDROM= HTTP/1.0'+#13+#10+
'Accept: */*;q=0.1'+#13+#10+
'Referer: http://test1.ru/'+#13+#10+
'Accept-Language: ru'+#13+#10+
'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.8 (build 01709); .NET CLR 1.1.4322)'+#13+#10+
'Host: test1.ru'+#13+#10+
'Content-Type: application/x-www-form-urlencoded'+#13+#10;



i:= send(Sock,pointer(req)^,length(req),0);
if i=SOCKET_ERROR then exit;
fillchar(buf,sizeof(buf),0);
recv(Sock,buf,sizeof(buf),0);
closesocket(Sock);
end;











Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)