Delphi indy TIdHTTP TIdHTTPServer Post Get

来源:互联网 发布:淘宝店名怎么取 编辑:程序博客网 时间:2024/06/15 11:05

TIdHTTPServer :

  try
    IdHTTPServer1.Bindings.Clear;
    //要绑定的端口,一定设置此项,这是真正要绑定的端口;
    IdHTTPServer1.DefaultPort:=8099;
    IdHTTPServer1.Bindings.Add.IP := '127.0.0.1';
    //启动服务器
    IdHTTPServer1.Active := True;
    Memo1.Lines.Add('启动');
  except
     showmessage('启动失败!');
  end;

procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
  Memo1.Lines.Add(ARequestInfo.Document);
  Memo1.Lines.Add(ARequestInfo.QueryParams);
  Memo1.Lines.Add(ARequestInfo.Params.Values['Par1'] );
  Memo1.Lines.Add(ARequestInfo.Params.Values['Par2'] );
  Memo1.Lines.Add(ARequestInfo.Command);
  Memo1.Lines.Add(ARequestInfo.URI);

  AResponseInfo.ContentEncoding:='utf-8';
  AResponseInfo.ContentType :='text/html';
  AResponseInfo.ContentText:='<html><body>好</body></html>';

  //发html文件
   {AResponseInfo.ContentEncoding:='utf-8';
   AResponseInfo.ContentType :='text/html';
   AResponseInfo.ContentText:='<html><body>好</body></html>'; }
   //发xml文件
   {AResponseInfo.ContentType :='text/xml';
   AResponseInfo.ContentText:='<?xml version="1.0" encoding="utf-8"?>'
   +'<students>'
   +'<student sex = "male"><name>'+AnsiToUtf8('陈')+'</name><age>14</age></student>'
   +'<student sex = "female"><name>bb</name><age>16</age></student>'
   +'</students>';}

end;


TIdHTTP :

procedure TForm1.Button2Click(Sender: TObject);
var
  URL: string;
  StrR: string;
  RequestStream : TStringStream;
begin
  URL := 'http://172.23.4.120:8099/test';
  IdHttp1.Request.ContentType :='application/x-www-form-urlencoded';
  RequestStream := TStringStream.Create('Par1=1&Par2=2', TEncoding.UTF8);
  RequestStream.Position := 0;

  StrR := IdHTTP1.Post(URL, RequestStream);
  Memo2.Lines.Add(StrR);

  FreeAndNil(RequestStream);
end;