请教高手Delphi实现HTTP Post功能的问题

zxilu 2003-05-01 01:58:45
我有两个asp文件
a.asp内容:
<html>
<head>
</head>
<body>
<form action="b.asp" method=post target="_self">
<P><INPUT id="Text1" type="text" name="Text1">
<INPUT id="Submit1" type="submit" value="Submit" name="Submit1"></P>
</form>
</body>
</html>

b.asp内容:
<html>
<body>
<%response.Write request.Form.Count%>
<%response.Write request.Form("text1")%>
</body>
</html>
在IE中点a.asp的提交按钮时显示2,但用Delphi 6 该如何实现呢?我用TNMHTTP的post, NMHTTP1.Post('http://localhost/test/b.asp', 'text1=ddssssddd'); 显示了Count,但text1的内容无法显示,听说TNMHTTP存在编码的问题,我又用Delphi6的Indy Http,就是Delphi自带的例子,Delphi安装目录下的Demo\Indy\HTTPClient也无法显示,不知是何原因?
...全文
155 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ChinaOk 2003-05-02
  • 打赏
  • 举报
回复
这是我的论坛助手回复帖子的代码
{sHttp 是idhttp控件
netinfo是我自自定义的记录类型,用来保存用户设置的代理的信息。

}
application.ProcessMessages;
with sHttp do
begin
Disconnect;
//Request.UserAgent:='Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)';
Request.UserAgent:='CSDN Helper ver1.0 Build0402';
RedirectMaximum:=0;
Request.ContentType:='application/x-www-form-urlencoded'; //这句最重要了
Request.ContentLength:=length(memo1.Text); //这个也要。
if (netinfo.flg_UseProxy=true) then
begin
Request.ProxyUsername:=netInfo.prx_User;
Request.ProxyPassword:=netInfo.prx_Pass;
Request.ProxyServer:=netInfo.prx_IP;
Request.ProxyPort:=StrToIntDef(netInfo.prx_Port,80);
end;
Rsp:=TStringStream.Create('');
try
Post(csdn.ReplyUrl,memo1.Lines,Rsp);
reStr:= Rsp.DataString;
finally
Rsp.Free;
end;
end; //end of With
ChinaOk 2003-05-02
  • 打赏
  • 举报
回复
看看rfc文档吧。
zxilu 2003-05-02
  • 打赏
  • 举报
回复
我现在是可以了,不过还有一点不明白,4中编码类型的其他3种为什么都不行呢?
multipart/form-data、text/plain、image/jpeg都不行啊,能否再说明一下他们的区别?或者哪里有这方面的资料? 先谢了!
zxilu 2003-05-01
  • 打赏
  • 举报
回复
设置编码方式?如何设置?能否给个例子啊?
backlove 2003-05-01
  • 打赏
  • 举报
回复
我用的是tmspack控件包里的webpost控件,很好用
ChinaOk 2003-05-01
  • 打赏
  • 举报
回复
你要设置编码方式。
就是右中的那个东西。

1,593

社区成员

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

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