2012-07-06 94 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