我需要從我的Delphi應用程序發佈一些數據到Web服務。總之什麼I'm做的是這個德爾福的utf8encode包括字符串末尾的 r n
http := TIdHTTP.Create(nil);
params := TIdMultiPartFormDataStream.Create;
params.AddFormField('param', utf8encode('value'));
http.Post('myurl', params);
在服務器日誌中我得到這個
{"param"=>"value\r\n"}
我不知道這是否是utf8encode或TidHTTP.post被包括在該CRLF字符串的結尾。任何想法如何防止這種情況發生?
這不是'UTF8Encode'。 –
要驗證,請嘗試使用param輸入字段的簡單手寫HTML表單。或者使用Synapse發送相同的請求,並查看服務器是否仍有額外的字符。或者使用Fiddler。 – mjn
@mjn我使用curl做了測試,服務器沒有包含'\ r \ n',並且如Andreas所說,它不是utf8encode,所以它只保留TidHTTPClient ...我想這是它添加\ r \ n。不知道爲什麼 –