1

誰かがこれと一緒に私を助けてくれることを本当に願っています...

PHP を使用して xml POST to RESTful API を実行する必要がありますが、どこから始めればよいかまったくわかりません。

xml を作成することはできますが、それを投稿するにはどうすればよいですか? cURL ライブラリを使用できません。

4

2 に答える 2

2

file_get_contents() を使用できます。allow_url_fopenphp.ini で設定する必要があります。

$context = stream_context_create(array('http'=>array(
    'method' => 'POST'
    'content' => $myXMLBody
)));
$returnData = file_get_contents('http://example.com/restfulapi', false, $context);

これが可能なのは、PHP が独自のラッパーでストリーム操作を抽象化するためです。ストリーム操作関数 (file_get_contents() など) にコンテキストを設定すると、PHP がそれを処理する方法を構成できます。

methodと だけでなく、より多くのパラメーターがありますcontent。リクエスト ヘッダー、プロキシ、タイムアウトの処理などすべてを設定できます。マニュアルを参照してください。

于 2012-04-22T16:01:08.953 に答える
1

私は数日前に同じ問題に悩まされ、最終的に誰かがこの解決策を思いついたが、少なくとも私の場合はxmlで機能しないため、$ this->_requestを使用してPOSTリクエストを取得しないでください。

$service_url1 = 'http://localhost/restTest/respond/';
$curl1 = curl_init($service_url1);
curl_setopt($curl1, CURLOPT_RETURNTRANSFER, true);
$arr=array("key"=>$xml);
curl_setopt($curl1, CURLOPT_POST, 1);
curl_setopt($curl1, CURLOPT_POSTFIELDS,$arr);
echo $curl1_response = curl_exec($curl1);

curl_close($curl1);
于 2012-10-04T05:01:34.073 に答える