次のように私は、サーバーへのカールとPOSTリクエストとしてXMLデータを送信しています:カール・リクエスト・損害XMLポストデータ
// $params contains xslt="<xml version ...."
$url = get_cfg_var('Http_Host') . "/webservice/update.php?";
$strParameters = http_build_query($params);
$ch = curl_init($url);
// Set options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $strParameters);
$data = curl_exec($ch);
を今、私は/ update.phpを
$_REQUEST['xslt']
は含まれていwebseriveのデータを取得するときそのように取り除かタグのほとんどは、XMLからのみいくつかのリーフデータ[が、新しい行の多くの]
USD
,
.
0
5
私は何が起こっているかを理解するために途方に暮れています。いくつかの二重エンコードの問題ですか?
strParametersは、私はそれがカールする送信前urldecodeを試み
【等スペースを+] form-urlencodedでフォーマットに適切なデータが含まれません。それでも問題は解決しません。
ブラウザでそのデータを調べると、「不思議ではありません。これはXMLで、ブラウザは知らないタグをすべて非表示にします。その場合、あなたは 'htmlspecialchars'を探しているかもしれません。 – hakre
いいえ - 私はブラウザでそのデータを見ていません。私は単純に_REQUEST ['xslt']をサーバー側のファイルにダンプしました。 – Fakrudeen
コードにエラーが表示されません。方法はよく見えます。あなたのサーバー*がデータを変更する可能性があります。あなたはbase64エンコードして、スクリプトで再度デコードし、それが通過するかどうかを調べることができます。 – hakre