用clientsocket发送http头请求

类别:Delphi 点击:0 评论:0 推荐:

procedure TForm1.Button2Click(Sender: TObject);
var Httpstr:string;
begin
    cs1.Active :=true;
    Httpstr:='GET http://www.paymesurf.com:80/surf3.php?usrid=607 HTTP/1.1'+#13#10;
    httpstr:=httpstr+'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*'+#13#10;
    httpstr:=httpstr+'Accept-Language: zh-cn'+#13#10;
    httpstr:=httpstr+'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; MyIE2; .NET CLR 1.1.4322)'+#13#10;
    httpstr:=httpstr+'Host: www.paymesurf.com'+#13#10;
    httpstr:=httpstr+'Proxy-Connection: Keep-Alive'+#13#10;
    httpstr:=httpstr+' ';
    memo1.Lines.Add(httpstr);
    cs1.Socket.SendText(httpstr);
end;

procedure TForm1.cs1Read(Sender: TObject; Socket: TCustomWinSocket);
var s:string;
    succ:boolean;
begin
 succ :=false;
 s:=socket.ReceiveText;
 memo1.Lines.Add(s);
 if  (pos('200',s)<>0) then    //返回信息:200 OK,表示发送成功
 begin
  StatusBar1.SimpleText:='成功!';
  cs1.Active :=false;
  succ :=true;
 end else
 begin
  StatusBar1.SimpleText:='失败';
  cs1.active:=true;
  succ :=false;
 end;
end;

为什么没有反回数据呢。试了多次也不行。看来http头还真是难搞呀。

本文地址:http://com.8s8s.com/it/it4156.htm