2017-09-13 7 views
-3

URLをCURLでポストすると、URLはXMLで結果を返すことになっていますが、代わりに結果。urlはブラウザでXMLを返しますが、CURLを使用している場合は返しません。

urlとmy変数をコピーしてブラウザに貼り付けると、目的のXMLが返されます。

 $ch = curl_init(); 
     curl_setopt($ch, CURLOPT_URL,$url); 
     curl_setopt($ch, CURLOPT_POST, true); 
     curl_setopt($ch, CURLOPT_POSTFIELDS, $variables); 
     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); 
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($ch, CURLOPT_HEADER, false); 
     $result = curl_exec($ch); 
     $error = curl_error($ch); 
     curl_close($ch); 
     print_r($result); 

これは私が使用しているコードです。何か不足していますか?

ありがとうございます。

+0

に十分な情報がありませんあなたの質問は私たちが問題を再現することはできません。 – Quentin

+0

推測:あなたはXMLを取得していますが、デフォルトの 'text/html'コンテンツタイプでPHPから出力し、すべてのXMLタグを未知のHTMLタグとして扱っているブラウザーでレンダリングし、スパンする方法。 – Quentin

答えて

0

はリターンをカールする文字列を取り、HTTPヘッダを追加しようとXMLオブジェクトへ

$xml = simplexml_load_string($result); 

のSimpleXMLのドキュメントHERE

0

それを回す:

curl_setopt($ch, CURLOPT_HTTPHEADER, [ 
    "Content-type: text/xml;charset=\"utf-8\"", 
    "Accept: text/xml", 
]); 
関連する問題