IDHTTP POST的数据中含有的换行问题(100分)

  • 主题发起人 主题发起人 heman2000
  • 开始时间 开始时间
H

heman2000

Unregistered / Unconfirmed
GUEST, unregistred user!
最近做SOAP相关的东西。
在POST的数据中除了正常的XML数据外,还包含部分非XML数据,其中数据包含多个换行。加#10和#13到服务器处理会出现异常。Sniffer发现到传送的时候变成了“&”
数据如:

This is a TextFile
Content-Type:text/xml;charset="GB2312"
ClientState:OK

传送的时候变成了

This is a TextFile&&Content-Type:text/xml;charset="GB2312"&&ClientState:OK


如何解决??
 
function TForm2.PostWebPage(url, para: String; TimeOut: Integer): String;
var
tmpWeb:TIdHTTP;
retrun:String;
Proxy:String;
i:Integer;
paralist:TStrings;
begin
retrun:='';
try
paralist:=TStringList.Create;
paralist.Text:=_Replacing(para,'&',#13#10);
tmpWeb:=TIdHTTP.Create(nil);

tmpWeb.HandleRedirects :=true;
tmpWeb.ReadTimeout:=TimeOut;
for i:=1 to 3 do
begin
try
retrun:=tmpWeb.Post(url,paralist);
except end;
if retrun<>'' then break;
end;
finally
tmpWeb.Disconnect;
FreeAndNil(tmpWeb);
FreeAndNil(paralist);
end;
Result:=retrun;
end;

实在不行,在服务器端再把&&变成换行不就行 了
 
用流的方式post过去试试
 
呵呵 学习学习
 
后退
顶部