有一个DELPHI访问网址的问题!(100分)

  • 主题发起人 主题发起人 ttkk
  • 开始时间 开始时间
T

ttkk

Unregistered / Unconfirmed
GUEST, unregistred user!
我要向一个网址提交一些资料
它们用的是JSP的服务!
http://sms.naho.com/corpsms/corp_interface.jsp
> 参数(可用post或get方式传递,建议使用post方法)
> user=用户账号
> pass=用户密码
> rec=接收手机
> msg=短信内容
请问在DELPHI里如何做呢?
 
放在HTML 的 Form中,让文本框的 name 为 user,pass等等,
post Form 时自动会提交。
 
不是太明白!我是要在DELPHI里面用程序实现!而且还要有反回值!!
 
Delphi要实现的就是http协议的post方法
最重要的是这一部分
一下自定义http头,其实用Tstrings就简单多了
sends:='POST /regurl/regform.asp HTTP/1.1'+#13#10;
sends:=sends+'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*'+#13#10;
sends:=sends+'Accept-Language: zh-cn'+#13#10;
sends:=sends+'Content-Type: application/x-www-form-urlencoded'+#13#10;
sends:=sends+'Accept-Encoding: gzip, deflate'+#13#10;
sends:=sends+'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)'+#13#10;
sends:=sends+'Host: db.sohu.com'+#13#10;
对于数据,必须经过nmurl编码。以下实现数据段(sendp就是数据段)
url.InputString := combobox2.Text;
sendp:='Step=Create&ClassKey='+url.Encode ;
url.inputstring := adoquery1.fieldvalues['文章名']+' 发布者:'+ adoquery1.fieldvalues['作者'] ;
sendp:=sendp+'&SiteName='+url.Encode;
url.inputstring:=edit5.text+'?id='+inttostr(adoquery1.fieldvalues['id']) ;
sendp:=sendp+'&URL='+url.Encode;
url.inputstring:= edit6.text;
sendp:=sendp+'&Description='+url.Encode;
sendp:=sendp+'&Keywords=';
url.inputstring:= edit3.text;
sendp:=sendp+'&EffDate=&ExpDate=&Contact=&EMail='+url.Encode+'&B1=%B5%DD%BD%BB';
sends:=sends+'Content-Length: '+inttostr(length(sendp))+#13#10;
sends:=sends+'Connection: Keep-Alive'+#13+#10+#13#10 +sendp;
clientsocket1.Socket.SendText(sends);
 
那如果用你所说的方法!是可以POST上去!但是对于POST以后的返回值该如何处理呢?
我如果使用DELPHI6 里的nmhttp里的POST方法也是有点办法!
 
后退
顶部