最近遇到了个问题,昨天困扰到3点也没弄好,请大侠帮忙看看。在delphi中我用tidhttp模拟网页post 主要代码如下:
var
idhttp1:TIdHTTP;
paramlist:TStringList;
webcookies:string; //网页cookies
contentstr:string;//提交的内容
i,j:integer;
res:string;
begin
idhttp1:=TIdHTTP.Create(nil);
WEBCooKies :=(Form1.WebBrowser1.document as ihtmldocument2).cookie;
IdHTTP1.Request.CustomHeaders.Text := 'Cookie: ' + WEBCooKies;
IdHTTP1.Request.Referer:='http://119.23.145.23/sms.jsp';
paramlist:=tstringlist.Create;
paramlist.Values['arecid']:='zjj';
paramlist.Values['arecname']:='';
paramlist.Values['content']:=contentstr;//提交的内容
paramlist.Values['title']:='';
paramlist.Values['sendtime']:='';
paramlist.Values['Sbumit3']:='发送';
res:=IdHTTP1.Post('http://119.23.145.23/addMessage.do',paramlist);
end; 提交的内容正常情况下是没有问题,不过,当内容中含有&的时候,&后面的内容就会被截掉。请大虾们帮忙看看有什么解决办法。
var
idhttp1:TIdHTTP;
paramlist:TStringList;
webcookies:string; //网页cookies
contentstr:string;//提交的内容
i,j:integer;
res:string;
begin
idhttp1:=TIdHTTP.Create(nil);
WEBCooKies :=(Form1.WebBrowser1.document as ihtmldocument2).cookie;
IdHTTP1.Request.CustomHeaders.Text := 'Cookie: ' + WEBCooKies;
IdHTTP1.Request.Referer:='http://119.23.145.23/sms.jsp';
paramlist:=tstringlist.Create;
paramlist.Values['arecid']:='zjj';
paramlist.Values['arecname']:='';
paramlist.Values['content']:=contentstr;//提交的内容
paramlist.Values['title']:='';
paramlist.Values['sendtime']:='';
paramlist.Values['Sbumit3']:='发送';
res:=IdHTTP1.Post('http://119.23.145.23/addMessage.do',paramlist);
end; 提交的内容正常情况下是没有问题,不过,当内容中含有&的时候,&后面的内容就会被截掉。请大虾们帮忙看看有什么解决办法。
解决方案 »
- 能否帮我找错呢,各位大侠
- DELPHI is not a valid value,是属于什么类型的错误
- !!! 一个难题 !!!
- 请问,如果把ACCESS数据库里的数据导出到EXCEL里
- delphi程序运行时提示缺少qtintf70.dll~是怎么会事啊??
- 请问,怎样在DELPHI中读取SQL数据库内的JPGE类型的图片,在线Waiting?
- 谁使用过ereport?
- 创建ACCESS数据库时的小问题!
- FormResize这事件是干什么的?
- 请问各位大哥,delphi 在数据库领域是否已经超过了pb?主要表现在那方面??
- 使用TIdHTTP POST数据到一个ASP网页,返回时只能接收到4096个字节,请问是什么原因?怎么解决?
- delphi翻页控件
http://blog.csdn.net/renjiandefeng/article/details/5823808
例如:paramlist.Values['title']:=HTTPEnCode('&title');
SS_Request.Add('__VIEWSTATE=dDwtMTc2Njg5ODcxOztsPGJ0blN1Ym1pdDs%2BPg%3D%3D');
SS_Request.Add('username='+ S_User);
SS_Request.Add('password='+ S_PW);
SS_Request.Add('btnSubmit.x='+ GetRandomStr(100, 6));
SS_Request.Add('btnSubmit.y='+ GetRandomStr(11, 10));
一行一个参数 &就相当于换行符了