delphi 之 get post
没测试过这个

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的更多相关文章
- 学习笔记:7z在delphi的应用
最近做个发邮件的功能,需要将日志文件通过邮件发送回来用于分析,但是日志文件可能会超级大,测算下来一天可能会有800M的大小.所以压缩是不可避免了,delphi中的默认压缩算法整了半天不太好使,就看了看 ...
- delphi连接sql存储过程
针对返回结果为参数的 一. 先建立自己的存储过程 ALTER PROCEDURE [dbo].[REName] ) AS BEGIN select ROW_NUMBER() over(order by ...
- delphi 2010与delphi XE破解版的冲突
在系统中同时安装了Dephi 2010LITE版与Delphi XE lite后,总是会有一个有问题 是因为两者都是读取C:\ProgramData\Embarcadero目录下的license文件, ...
- [Delphi] Delphi版本号对照
VER300 Delphi Seattle / C++Builder Seattle 23 230 (Delphi:Win32/Win64/OSX/iOS32/iOS64/An ...
- delphi tidhttp 超时设置无效的解决方法
现在delphi都发布到xe8了,tidhttp还有缺陷,那就是超时设置在没有网络或者连不上服务器的时候是无效的,不管你设置为多少都要10-20秒.connectTimeout和readTimeout ...
- Delphi Code Editor 之 编辑器选项
Delphi Code Editor 之 编辑器选项 可从Code Editor的右键菜单中选择“Properties”菜单项来查看编辑器选项.也可以从主菜单[Tools | Editor Optio ...
- Delphi使用ADO进行数据库编程
Delphi是一个可视化的编程工具,ADO编程也是这样,所以话不多言,直接通过代码.截图和语言来说明. 我的数据库是Oracle,为了测试,先建一个表:create table practice(un ...
- 怎么使用Delphi获取当前的时间,精确到毫秒
先介绍一个可能比较常用的方法,获取当前时间 var datetime: string; begin datetime:= FormatDateTime('yyyy-mm-dd hh:mm:ss', N ...
- Delphi在创建和使用DLL的时候如果使用到string,请引入ShareMem单元
当使用了长字符串类型的参数.变量时,如string,要引用ShareMem. 虽然Delphi中的string功能很强大,但若是您编写的Dll文件要供其它编程语言调用时,最好使用PChar类型.如果您 ...
- Delphi控件之---通过编码学习TStringGrid(也会涉及到Panel控件,还有对Object Inspector的控件Events的介绍
我是参考了万一的博客里面的关于TStringGrid学习的教程,但是我也结合自己的实际操作和理解,加入了一些个人的补充,至少对我有用! 学用TStringGrid之——ColCount.RowCoun ...
随机推荐
- [Git] 013 远程仓库篇 第零话 使用前的一些配置
0. 前言 本地仓库和 GitHub 上的远程仓库之间的传输是通过 "SSH" 加密的,所以使用前需要进行一些设置 这回的任务 设置"身份象征" 创建 &quo ...
- Java之九九乘法表
public class MultiplicationTable { public static void main(String[] args) { for(int i=1;i<=9;i++) ...
- POJ 1383题解(树的直径)(BFS)
题面 Labyrinth Time Limit: 2000MS Memory Limit: 32768K Total Submissions: 4997 Accepted: 1861 Descript ...
- Python之字符串和正则表达式
使用正则表达式 Python对正则表达式的支持 例子:替换字符串中的不良内容 import re def main(): sentence = '你丫是傻叉吗? 我操你大爷的. Fuck you.' ...
- Educational Codeforces Round 60 (Rated for Div. 2) D. Magic Gems(矩阵快速幂)
题目传送门 题意: 一个魔法水晶可以分裂成m个水晶,求放满n个水晶的方案数(mol1e9+7) 思路: 线性dp,dp[i]=dp[i]+dp[i-m]; 由于n到1e18,所以要用到矩阵快速幂优化 ...
- 除了a链接跳转,还有其他的跳转方式
一.直接在要跳转部分加上onclick事件 1.加入onclick事件: <div onclick="window.open('http://baidu.com','_blank')& ...
- vue传值(小demo)
vue+element ui实现的.解释大多在代码中(代码臭且长,有错误请指正)-- 代码如下: <template> <div class="userList" ...
- 微信公众号获取微信token
微信在公众号和小程序的开发都有开放文档一般看文档开发就行,很简单这里写一个小demo获取微信token,之后根据自己的业务获取信息处理即可 package com.demo.ccx; import o ...
- Matlab 多个版本的安装包下载、安装和激活教程 + 多套数学建模视频教程
目录 1. 关键词 1.1. 说明 2. 下载地址 2.1. OneDrive高速云盘 2.1.1. 多版本的安装包 2.1.2. 多套数学建模的视频教程 2.2. 百度云 3. 安装教程 1. 关键 ...
- 2019届校招前端面试题整理——HTML、CSS篇
前言 2019届校招陆陆续续开始了,整理了一些高频的面试题. HTML部分 1. 什么是<!DOCTYPE>? DOCTYPE是html5标准网页声明,且必须声明在HTML文档的第一行.来 ...