indy idhttp post方法
idhttp中对于post方法的定义:
unit Umain;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, StdCtrls, IdMultipartFormData;type TForm1 = class(TForm) IdHTTP1: TIdHTTP; Memo1: TMemo; btnOne: TButton; btnTwo: TButton; btnThree: TButton; btnFour: TButton; btnFive: TButton; btnSix: TButton; procedure btnOneClick(Sender: TObject); procedure btnTwoClick(Sender: TObject); procedure btnThreeClick(Sender: TObject); procedure btnFourClick(Sender: TObject); procedure btnFiveClick(Sender: TObject); procedure btnSixClick(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}const sPostUrl = 'http://cne.csu.edu.cn/reg/mima-pass.asp?path=';procedure TForm1.btnOneClick(Sender: TObject);var postcmd : TStringList;begin postcmd := TStringList.Create; // 组合参数列表 postcmd.Add('AutoGet=1'); postcmd.Add('Logintype=0'); postcmd.Add('password=test'); postcmd.Add('username=test'); Memo1.Text := IdHTTP1.Post(sPostUrl, postcmd); // 以post的方式发送到服务器end;procedure TForm1.btnTwoClick(Sender: TObject);var postStream : TStringStream;begin IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded'; // 定义发送mime类型 postStream := TStringStream.Create('AutoGet=1&Logintype=0&password=test&username=test'); // 发送内容 Memo1.Text := IdHTTP1.Post(sPostUrl, postStream);end;procedure TForm1.btnThreeClick(Sender: TObject);var postStream : TIdMultiPartFormDataStream;begin IdHTTP1.HandleRedirects := true; // 允许重定向,因为这个站点会发生重定向 IdHTTP1.Request.Referer := 'http://www.qiuziti.com/'; // 设置来路,此网站要求 postStream := TIdMultiPartFormDataStream.Create; // 创建TIdMultiPartFormDataStream类 postStream.AddFormField('textfield', 'd:\temp\test.png'); // 表单参数 postStream.AddFile('uploaded_file', 'd:\temp\test.png', 'image/png'); // 表单文件 Memo1.Text := Utf8ToAnsi(IdHTTP1.Post('http://www.qiuziti.com/s/upload.ashx', postStream));end;procedure TForm1.btnFourClick(Sender: TObject);var postStream : TIdMultiPartFormDataStream; respStream : TStringStream;begin IdHTTP1.HandleRedirects := true; // 允许重定向,因为这个站点会发生重定向 IdHTTP1.Request.Referer := 'http://www.qiuziti.com/'; // 设置来路,此网站要求 postStream := TIdMultiPartFormDataStream.Create; // 创建TIdMultiPartFormDataStream类 respStream := TStringStream.Create(''); postStream.AddFormField('textfield', 'd:\temp\test.png'); // 表单参数 postStream.AddFile('uploaded_file', 'd:\temp\test.png', 'image/png'); // 表单文件 IdHTTP1.Post('http://www.qiuziti.com/s/upload.ashx', postStream, respStream); Memo1.Text := Utf8ToAnsi(respStream.DataString);end;procedure TForm1.btnFiveClick(Sender: TObject);var respStream : TStringStream; postcmd : TStringList;begin postcmd := TStringList.Create; respStream := TStringStream.Create(''); postcmd.Add('AutoGet=1'); postcmd.Add('Logintype=0'); postcmd.Add('password=test'); postcmd.Add('username=test'); IdHTTP1.Post(sPostUrl, postcmd, respStream); Memo1.Text := respStream.DataString;end;procedure TForm1.btnSixClick(Sender: TObject);var postStream, respStream : TStringStream;begin postStream := TStringStream.Create('AutoGet=1&Logintype=0&password=test&username=test'); respStream := TStringStream.Create(''); IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded'; // 定义发送mime类型 IdHTTP1.Post(sPostUrl, postStream, respStream); Memo1.Text := respStream.DataString;end;end.
http://download.csdn.net/detail/none01/5130108