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中如果要实现,用什么控件?怎么实现?
最好给个原代码
...全文
205 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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
  • 打赏
  • 举报
回复
沃野关注,顶!

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧