如何在程序中提交一个post的WEB请求(100分)

  • 主题发起人 主题发起人 li2
  • 开始时间 开始时间
L

li2

Unregistered / Unconfirmed
GUEST, unregistred user!
可以用第三方的控件(TWEBBROWERSER可以当然最好).求结合<FORM>....</FORM>的例子
 
看看delphi的的例子,内有,用NMhttp实现的。。
 
例子看过,就是不清楚其中的DATE (EDIT.text) 要填什么样的数据.
如有一个WEB 叶, 内容如下 <HTML>......<BODY>....
<form method="POST" action="http://www.cn99.com/cgi-bin/subscribe" target="_blank">
订阅本站的邮件列表,自动得到有关软件更新和BUG问题处理的邮件通知 <br>
请填入你的电子信箱地址:
<table border="0">
<tr>
<td>
<input type="text" name="email2" size="20">
</td>
<td>
<input type="submit" value="订阅" name="sub2">
<input type="submit" value="退订" name="unsub2">
</td>
</tr>
<tr>
<td colspan="2"><font size="1" face="arial"><a href="http://www.cn99.com/" target="_top">Powered
by Bentium</a></font></td>
</tr>
</table>
</form>
那它请求的带的POST内容是什么? 即问那个例子中的DATE框里应该填什么
 
给你POST的详细信息:(以上面为例)
--------------------------------------
POST /cgi-bin/subscribe HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Accept: */*
Host: www.cn99.com
Content-Length: xxx

email2=yyy&sub2=
--------------------------------------
分析:
POST <URI> HTTP/1.1 // 去掉Host的URL
Content-Type: application/x-www-form-urlencoded // 这一行指明数据类型(必需)
Host: www.cn99.com // Host
Content-Length: xxx // xxx = POST DATA 长度(字节)
<CR><LF> // 必须有回车、换行,表明头部结束
email2=yyy&sub2= // 这就是POST DATA,必需将长度写在Content-Length域
--------------------------------------
POST DATA的格式与GET时没有区别,都为"name=value&name=value..."
按照你上面的例子,如果按了订阅的话,POST DATA为此








 
它的post内容是
email2
sub2
unsub2
 
<input type="text" name="email2" size="20">
<input type="submit" value="订阅" name="sub2">
<input type="submit" value="退订" name="unsub2">

然后post到http://www.cn99.com/cgi-bin/subscribe
 
后退
顶部