0

CURLを介してAPIから応答を取得しようとしています。このメソッドは、XMLを介してユーザーデータを取得する必要があり、応答データを含むXMLを返します。何も返ってこない。APIはうまく機能します。同じリクエストを、PHP以外の場所で試してみると、機能します。私のAPIでは、データをapplication /xmlContent-Typeで送信する必要があります。

私が間違っていることについて何か考えはありますか?

<?php
    $request="https://api.mydomain.com/operation/v1/rest/xml/user/authenticate";
    $xml_data='<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
               <userCredentials>
                    <userName>name</userName>
                    <password>password</password>
               </userCredentials>';

    $ch = curl_init();
    //curl_setopt($ch, CURLOPT_MUTE, 1);
    curl_setopt($ch, CURLOPT_URL, $request);
    //curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, "Content-type: application/xml");
    curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);
    curl_close($ch);

    echo "<b>Request:</b> $request <br/>";
    echo "<b>Response:</b><pre>".$output."</pre>";
?>
4

1 に答える 1

0

コメントされているように、簡単な推測(長いコメント):

echo "<b>Response:</b><pre>".$output."</pre>";

これにより、エスケープされていない XML が出力されます。ブラウザはブラウザ ウィンドウ内に何も表示しませんが、ページのソースを表示すると何かが見えるはずです。

于 2013-02-07T15:16:33.950 に答える