HTML页面在delphi中实现

highbury 2004-10-21 05:08:39
有如下一段HTML页面:
<html>
<head>
<title>测试页面(软方式)</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<form method="post" action="http://127.0.0.1:448/servlet/com.icbc.inbs.yhzq.NCAPIReqServlet">
<input name="opName" value="NCQueryBalanceOp">
<input name="reqData" value="<?xml version Account_cur><userID>htzq.d.4301</userID><PackageID>041102150804887</PackageID><ReqReserved1></ReqReserved1><ReqReserved2></ReqReserved2></ReqParam></opReq></ICBCYH>">
<input name="userID" value="htzq.d.4301">
<input name="PackageID" value="041102150804887">
<input type="submit" value="单帐户余额查询">
</form>
</body>
</html>

在DELPHI中如果要实现,用什么控件?怎么实现?
最好给个原代码
...全文
123 点赞 收藏 8
写回复
8 条回复
Bellamy 2004年10月22日
SEE!
回复 点赞
halfdream 2004年10月22日
可能是参数需要编码吧。。
reqData=<?xml version Account_cur><userID>htzq.d.4301</userID>
<PackageID>041102150804887</PackageID><ReqReserved1></ReqReserved1><ReqReserved2></ReqReserved2></ReqParam></opReq></ICBCYH>

被IE6 POST的时候,就编码成下面。。(使用HTTP1.1,Content-Type: application/x-www-form-urlencoded)

reqData=%3C%3Fxml+version++Account_cur%3E%3CuserID%3Ehtzq.d.4301%3C%2FuserID%3E%
3CPackageID%3E041102150804887%3C%2FPackageID%3E%3CReq
Reserved1%3E%3C%2FReqReserved1%3E%3CReqReserved2%3E%3C%2FReqReserved2%3E
%3C%2FReqParam%3E%3C%2FopReq%3E%3C%2FICBCYH%3E

回复 点赞
highbury 2004年10月22日
cronuz(cronus) :
非常感谢!你的这个方法我也试过了,可服务器还是认不出来多个参数,后来测试发现一个规律,如果我在本地收工做一个html页面,有一个表单,并且放四个输入框,并且每个框输入数据,然后表单post上去,这样服务器就能收到我的参数.而我在delphi里面不管是用&符表示多个参数还是用StringList装入多个参数,均不能被服务器解析,请教还有没有解决方法!
回复 点赞
cronuz 2004年10月21日
procedure TForm1.Button1Click(Sender: TObject);
var
postList: TStrings;
begin
EditURL.Text := 'http://127.0.0.1:448/servlet/com.icbc.inbs.yhzq.NCAPIReqServlet';

postList := TStringList.Create;
try
postList.Add('opName=NCQueryBalanceOp');
{...}
postList.Add('userID=htzq.d.4301');
postList.Add('PackageID=041102150804887');
IdHTTP1.Post( EditURL.Text, postList );
finally
EditURL.Text := IdHTTP1.Response.Server + ': ' + IdHTTP1.Response.ResponseText;
postList.Free;
end;
end;

説明:用「TIdHTTP」控件、把多个变量放入「TStringList」中一起传送。
回复 点赞
highbury 2004年10月21日
indy无法实现传多个变量!就像form里的很多个input一样
回复 点赞
try876 2004年10月21日
不是有控件吗?
回复 点赞
i54 2004年10月21日
帮顶
回复 点赞
skywang0810 2004年10月21日
沃野关注,顶!
回复 点赞
发动态
发帖子
网络通信/分布式开发
创建于2007-08-02

924

社区成员

3.3w+

社区内容

Delphi 网络通信/分布式开发
社区公告
暂无公告