[delphi]indy idhttp post方法
2015-08-12 08:19
549 查看
网易
博客
LOFTCam-用心创造滤镜
LOFTER-最美图片社交APP
送20张免费照片冲印 >
注册登录
加关注
首页
日志
LOFTER
相册
音乐
收藏
博友
关于我
techiepc
加博友 关注他
文章分类
·默认分类(249)
LOFTER精选
注册免费冲印20张照片 >
网易考拉推荐
网易新闻
湖南郴州现"多彩空调墙"
·男孩溺亡同伴藏其物品瞒23天
·男子撞人逃逸后与伤者同病房
·老汉谎称自焚:想要制造混乱
·未成年少年强奸未遂杀人被捕
·老太旅游被浪拍骨折 索赔17万
·聋哑男子地下通道杀2名流浪汉
·中国女子死于日本 男嫌犯被捕
·男子结5次婚出狱报复砍杀4人
下载网易新闻客户端 >
delphi idhttp 存储cookies的有关问题
收藏一些DELPHI IDHTTP源码
下载LOFTER客户端
idhttp中对于post方法的定义:
[delphi] view plaincopyprint?
function Post(AURL: string; ASource: TIdStrings): string; overload;
function Post(AURL: string; ASource: TStream): string; overload;
function Post(AURL: string; ASource: TIdMultiPartFormDataStream): string; overload;
procedure Post(AURL: string; ASource: TIdMultiPartFormDataStream; AResponseContent: TStream); overload;
procedure Post(AURL: string; ASource: TIdStrings; AResponseContent: TStream); overload;
procedure Post(AURL: string; ASource, AResponseContent: TStream); overload;
其中的基本方法是下面的过程类方法,其他post重载方法均为嵌套使用此方法:
[delphi] view plaincopyprint?
procedure TIdCustomHTTP.Post(AURL: string; ASource, AResponseContent: TStream);
参数:
[delphi] view plaincopyprint?
AURL: string // post请求URL
ASource: TIdMultiPartFormDataStream // TStream派生的类,其中为发送的流数据及mime信息,可用于上传文件
ASource: TStream // 发送的流数据
AResponseContent: TStream // 响应内容流ASource: TIdStrings // TString派生的类,用于向服务器提交数据
ASource 为TIdStrings的数据,使用的MIME是默认的“application/x-www-form-urlencoded”,而TIdMultiFormDataStream则是根据发送的内容/文件来设定MIME类型。
示例:
[delphi] view plaincopyprint?
unit Umain;
interface
uses
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.
Demo下载:
http://download.csdn.net/detail/none01/5130108
阅读(1547)| 评论(0)
喜欢推荐转载
delphi idhttp 存储cookies的有关问题
收藏一些DELPHI IDHTTP源码
玩LOFTER,免费冲印20张照片,人人有奖! 我要抢>
博客风格 - 手机博客 - 下载LOFTER APP - 订阅此博客
网易公司版权所有 ©1997-2015
加入网易博客注册
博客
LOFTCam-用心创造滤镜
LOFTER-最美图片社交APP
送20张免费照片冲印 >
注册登录
加关注
techiepc的博客
万事如意首页
日志
LOFTER
相册
音乐
收藏
博友
关于我
日志
关于我techiepc
加博友 关注他
文章分类
·默认分类(249)
LOFTER精选
注册免费冲印20张照片 >
网易考拉推荐
网易新闻
湖南郴州现"多彩空调墙"
·男孩溺亡同伴藏其物品瞒23天
·男子撞人逃逸后与伤者同病房
·老汉谎称自焚:想要制造混乱
·未成年少年强奸未遂杀人被捕
·老太旅游被浪拍骨折 索赔17万
·聋哑男子地下通道杀2名流浪汉
·中国女子死于日本 男嫌犯被捕
·男子结5次婚出狱报复砍杀4人
下载网易新闻客户端 >
delphi idhttp 存储cookies的有关问题
收藏一些DELPHI IDHTTP源码
[delphi]indy idhttp post方法
2013-10-13 10:49:40| 分类: 默认分类 | 标签:delphi idhttp post indy |举报|字号 订阅下载LOFTER客户端
idhttp中对于post方法的定义:
[delphi] view plaincopyprint?
function Post(AURL: string; ASource: TIdStrings): string; overload;
function Post(AURL: string; ASource: TStream): string; overload;
function Post(AURL: string; ASource: TIdMultiPartFormDataStream): string; overload;
procedure Post(AURL: string; ASource: TIdMultiPartFormDataStream; AResponseContent: TStream); overload;
procedure Post(AURL: string; ASource: TIdStrings; AResponseContent: TStream); overload;
procedure Post(AURL: string; ASource, AResponseContent: TStream); overload;
其中的基本方法是下面的过程类方法,其他post重载方法均为嵌套使用此方法:
[delphi] view plaincopyprint?
procedure TIdCustomHTTP.Post(AURL: string; ASource, AResponseContent: TStream);
参数:
[delphi] view plaincopyprint?
AURL: string // post请求URL
ASource: TIdMultiPartFormDataStream // TStream派生的类,其中为发送的流数据及mime信息,可用于上传文件
ASource: TStream // 发送的流数据
AResponseContent: TStream // 响应内容流ASource: TIdStrings // TString派生的类,用于向服务器提交数据
ASource 为TIdStrings的数据,使用的MIME是默认的“application/x-www-form-urlencoded”,而TIdMultiFormDataStream则是根据发送的内容/文件来设定MIME类型。
示例:
[delphi] view plaincopyprint?
unit Umain;
interface
uses
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.
Demo下载:
http://download.csdn.net/detail/none01/5130108
阅读(1547)| 评论(0)
喜欢推荐转载
delphi idhttp 存储cookies的有关问题
收藏一些DELPHI IDHTTP源码
在LOFTER的更多文章
关闭玩LOFTER,免费冲印20张照片,人人有奖! 我要抢>
评论
该内容仅供欣赏。博客风格 - 手机博客 - 下载LOFTER APP - 订阅此博客
网易公司版权所有 ©1997-2015
加入网易博客注册
相关文章推荐
- Qt 网络开发基础
- Windows 2008 R2 2012 R2服务器备份高级应用之---增量备份到网络
- 安卓获取远程值http和saop
- Linux网络编程(附1)——封装read、write
- tcp三次握手的过程,accept发生在三次握手哪个阶段?
- nginx http核心模块指令(二)
- 流媒体高清视频校园直播点播
- yum 安装svn+httpd
- virtualbox 网络设置(桥接、host-ony)模式
- linux中select网络通信
- 黑马程序员——Java基础---GUI,网络编程
- java网络通信编程
- eclipse启动Tomcat服务输入http://localhost:8080/报404解决方法
- nginx中http核心模块的配置指令1
- 如何抓包(获得网络数据)
- iOS + Nodejs SSL/Https双向认证
- REST当中为什么要使用HTTP PUT
- Linux下TCP/IP协议栈的简单脉络分析
- 博客最终还是迁至自己搭建的http://blogs.moergen.cn
- 关闭HttpClient控制台输出语句