读书人

delphi tidhttp post内容带有amp

发布时间: 2013-01-04 10:04:18 作者: rapoo

delphi tidhttp post内容含有&
最近遇到了个问题,昨天困扰到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;

提交的内容正常情况下是没有问题,不过,当内容中含有&的时候,&后面的内容就会被截掉。请大虾们帮忙看看有什么解决办法。

[解决办法]
参考,看看是不是有你的情况
http://blog.csdn.net/renjiandefeng/article/details/5823808
[解决办法]
加上HTTPEnCode试试
例如:paramlist.Values['title']:=HTTPEnCode('&title');
[解决办法]
SS_Request := TStringList.Create;
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));
一行一个参数 &就相当于换行符了

读书人网 >.NET

热点推荐