0

我正在使用 CURL-PHP 将数据发布到服务器。选项通过 curl_setopt 函数设置为 curl。但不知何故,匿名用户在他的密码中输入了“&”。由于数据是在 xml 中收集的,因此 Xml 的缺点是它停在那里并引发一些 XML 异常。如果我使用 CDATA,那么它可能无法解析该密码,最终身份验证将失败。我使用了 php 编码函数,如 htmlentities、html_entit_decode、utf8_encode、utf8_encode、urlencode 和 urldecode。但问题是一样的。有什么方法可以通过 XML 发送“&”并通过 CURL 发布该数据。据我所知,CURL 本身在内部进行解析。

谢谢,

4

1 回答 1

0

首先在发布之前确保 XML 字符串包含&amp在密码中

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

htmlentities()必须应用于 $password,也不能应用于 $xml_data。比确保它附加到 curl 请求,如curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_data)

没有任何额外的编码。它应该工作!在其他情况下,POST 处理程序方面的问题。

于 2012-07-06T07:55:34.063 回答