http://www.cnblogs.com/ccqin/archive/2012/08/22/2650348.html

没测试过这个

var
Source: TMemoryStream;
Response: TStringStream ;
begin
try
// Set the properties for HTTP
idHTTP.Request.Username := 'www ';
idHTTP.Request.Password := 'www ';
// idHTTP1.Request.ProxyServer := '11.133.190.13 ';
// idHTTP1.Request.ProxyPort := StrToIntDef( '80 ', 80);
idHTTP.Request.ContentType := 'application/x-www-form-urlencoded ';
Response := TStringStream.Create( ' ');
try
Source := TMemoryStream.Create;
try
Source.LoadFromFile( 'unsub.xml '); //发送这个XML包,反向取消请求
idHTTP.Post( 'http://222.333.444.555/dsmp/dsmp.wsdl ', Source, Response);
finally
// Source.Free;
end; memo.Lines.Text := Response.DataString;//返回的字串,可以把它存为XML就可以
memo.Lines.SaveToFile( 'unsubresp.xml '); //返回的反向取消应答包
finally
Response.Free;
end;
finally
end

这个方法试了 可以用

以下仅供参考,要求在web页面写特殊的字符,根据返回的结果判断是否登陆成功,用户名,密码方式见下:

procedure   TForm1.Button1Click(Sender:   TObject);
var
Url: string;
Response : TStringStream;
Request : TStrings;
begin
Memo1.Clear;
Response := TStringStream.Create( ' ');
try
Request := TStringList.Create;
try
Request.Append( 'txtUserId=hengli&txtPassword=ysj);
url := 'http://192.168.1.33/nmmis/index.aspx ';
IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded ';
IdHTTP1.Post(Url, Request, Response);
Memo1.Lines.Text := Response.DataString;
finally
FreeAndNil(Request);
end;
finally
FreeAndNil(Response);
end;
end;

通过idhttp上传文件到web上,然后返回上传的文件路径。

function   UpLoagFile(FileName:   String):   string;
var
obj : TIdMultiPartFormDataStream;
Url: String;
begin
obj := TIdMultiPartFormDataStream.Create;
try
obj.AddFile( 'Image ',FileName, GetMIMETypeFromFile(FileName));
http.Request.ContentType := obj.RequestContentType;
obj.Position := 0;
Url := 'http://192.168.1.44/insertImage.aspx ';
Result := http.Post(Url, obj);
finally
obj.Free;
end;
end; 服务端,C#:
private void Page_Load(object sender, System.EventArgs e)
{
foreach(string f in Request.Files.AllKeys)
{
string fileName, fullName;
HttpPostedFile postFile = Request.Files[f];
if (postFile.ContentLength > 10)
{
fileName = postFile.FileName;
//GetFileName( fileName, out fullName );
fullName = "UpLoad/aaa.jpg "
postFile.SaveAs ( Server.MapPath ( fullName ) );
Response.Write (fullName);
}
}
}

delphi 之 get post的更多相关文章

  1. 学习笔记:7z在delphi的应用

    最近做个发邮件的功能,需要将日志文件通过邮件发送回来用于分析,但是日志文件可能会超级大,测算下来一天可能会有800M的大小.所以压缩是不可避免了,delphi中的默认压缩算法整了半天不太好使,就看了看 ...

  2. delphi连接sql存储过程

    针对返回结果为参数的 一. 先建立自己的存储过程 ALTER PROCEDURE [dbo].[REName] ) AS BEGIN select ROW_NUMBER() over(order by ...

  3. delphi 2010与delphi XE破解版的冲突

    在系统中同时安装了Dephi 2010LITE版与Delphi XE lite后,总是会有一个有问题 是因为两者都是读取C:\ProgramData\Embarcadero目录下的license文件, ...

  4. [Delphi] Delphi版本号对照

    VER300    Delphi Seattle / C++Builder Seattle    23    230    (Delphi:Win32/Win64/OSX/iOS32/iOS64/An ...

  5. delphi tidhttp 超时设置无效的解决方法

    现在delphi都发布到xe8了,tidhttp还有缺陷,那就是超时设置在没有网络或者连不上服务器的时候是无效的,不管你设置为多少都要10-20秒.connectTimeout和readTimeout ...

  6. Delphi Code Editor 之 编辑器选项

    Delphi Code Editor 之 编辑器选项 可从Code Editor的右键菜单中选择“Properties”菜单项来查看编辑器选项.也可以从主菜单[Tools | Editor Optio ...

  7. Delphi使用ADO进行数据库编程

    Delphi是一个可视化的编程工具,ADO编程也是这样,所以话不多言,直接通过代码.截图和语言来说明. 我的数据库是Oracle,为了测试,先建一个表:create table practice(un ...

  8. 怎么使用Delphi获取当前的时间,精确到毫秒

    先介绍一个可能比较常用的方法,获取当前时间 var datetime: string; begin datetime:= FormatDateTime('yyyy-mm-dd hh:mm:ss', N ...

  9. Delphi在创建和使用DLL的时候如果使用到string,请引入ShareMem单元

    当使用了长字符串类型的参数.变量时,如string,要引用ShareMem. 虽然Delphi中的string功能很强大,但若是您编写的Dll文件要供其它编程语言调用时,最好使用PChar类型.如果您 ...

  10. Delphi控件之---通过编码学习TStringGrid(也会涉及到Panel控件,还有对Object Inspector的控件Events的介绍

    我是参考了万一的博客里面的关于TStringGrid学习的教程,但是我也结合自己的实际操作和理解,加入了一些个人的补充,至少对我有用! 学用TStringGrid之——ColCount.RowCoun ...

随机推荐

  1. jenkins 启动报错

    daemon: fatal: refusing to execute unsafe program: /usr/java/jdk1.8.0/bin/java (/usr/java/jdk1.8.0/b ...

  2. (4.14)mysql备份还原——mysql物理热备工具之ibbackup

    关键词:mysql热备工具,ibbackup,mysql物理备份工具 1. 准备 ibbackup 是 InnoDB 提供的收费工具,它支持在线热备 InnoDB 数据,主要有以下特性: * Onli ...

  3. P2517 [HAOI2010]订货(dp)

    P2517 [HAOI2010]订货 设$f[i][j]$表示第$i$个月,库存为$j$的最小代价 枚举上个月的库存$k$,那么$f[i][j]=f[i-1][k]+(j+U[i]-k)*D[i]+j ...

  4. 工作时使用的vim配置

    """"""""""""""""&quo ...

  5. 21、前端知识点--html5和css3新特性汇总

    跳转到该链接 新特性汇总版: https://www.cnblogs.com/donve/p/10697745.html HTML5和CSS3的新特性(浓缩好记版) https://blog.csdn ...

  6. [书接上一回]在Oracle Enterprise Linux (v5.7) 中安装DB - (2/4)

    在最后一行,书写shmfs /dev/shm tmpfs size=2g 0 用来调高数据库运行是的内存分配问题. 创建需要的路径和分配权限. 设置 oracle 用户环境参数. 修改标头显示的部分. ...

  7. onupdate

    数据的初始化显示刚开始写在onupdate中,文档类中的数据更新之后,希望通过调用UpdateAllViews(FALSE)来实现视图的更新,可以实现!后来觉得不妥,想把初始化显示写在ondraw中, ...

  8. configerparser模块

    '''[mysqld]charater-server-set='utf8'default-engine='innodb'skip-grant-table=Trueport=3306 [client]u ...

  9. Java技术中如何使用keepalived实现双机热备

    Keepalived简介 Keepalived是Linux下一个轻量级别的高可用解决方案.高可用(High Avalilability,HA),其实两种不同的含义:广义来讲,是指整个系统的高可用行,狭 ...

  10. struts2+jsp 遍历 <s:iterator><s:property>

    直接把list用request传到jsp页面 <s:iterator var="u" value="#request.users"> <tr& ...