2012-07-06 59 views
0

我正在使用CURL-PHP將數據發佈到服務器。通過curl_setopt函數將選項設置爲curl。但不知何故,匿名用戶在他的密碼中輸入「&」。由於數據是以xml的形式收集的,所以Xml的缺點就是停在那裏,並且引發一些XML異常。 如果我使用CDATA,那麼它可能不會解析該密碼,最終認證將失敗。我使用了php編碼函數,如htmlentities,html_entit_decode,utf8_encode,utf8_encode,urlencode nad urldecode。但問題是一樣的。 是否有任何方法通過XML發送「&」,並通過CURL發佈該數據。據我所知,CURL本身在內部解析。用XML發佈數據問題的CURL

感謝,

+0

看看這個問題http://stackoverflow.com/questions/1328538/how-do-i-escape-ampersands-in-xml – 2012-07-06 06:52:21

回答

0

首先確保XML字符串包含&amp在密碼張貼

(<password>123&amp;</password><user password="123&amp;"></user>123&amp;

htmlentities()必須適用於$密碼之前,也不是$ xml_data。確保它附加捲曲請求,如curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_data);

沒有任何額外的編碼。它應該工作!在其他情況下POST處理器端的問題。

+0

你應該更新你的答案更可讀使用一些'來點亮你的碼。 – j0k 2012-07-06 14:40:53