0

サーバーにデータを投稿するためにCURL-PHPを使用しています。オプションは、curl_setopt関数を介してcurlに設定されます。しかし、どういうわけか匿名ユーザーは自分のパスワードに「&」を入力します。データはxmlに収集されるため、Xmlの欠点として、そこで停止し、XML例外が発生します。CDATAを使用した場合、そのパスワードが解析されず、最終的に認証が失敗する可能性があります。htmlentities、html_entit_decode、utf8_encode、utf8_encode、urlencode、urldecodeなどのphpエンコーディング関数を使用しました。しかし、問題は同じです。XMLを介して「&」を送信し、そのデータをCURLに投稿する方法はありますか。私の知る限り、CURL自体は内部で解析します。

ありがとう、

4

1 に答える 1

0

まず、&amp投稿する前に XML 文字列がパスワードに含まれていることを確認してください

(<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 に答える