サーバサイドで、SOAPやXML-RPCを使わずに素のXMLをPOSTしたい場合、PEAR::HTTP_Client::post() でPOSTできる。
HTTP_Clientは PEAR::HTTP_Request などのラッパーで、内部的にはpost()の第2引数(mixed $data)が配列かどうかによって下記のようにHTTP_Requestのfunctionを呼び分けている。
- 第2引数が配列の場合 :
配列の各要素をHTTP_Request::addPostData() する - 第2引数が配列以外の場合 :
第2引数をそのまま HTTP_Request::addRawPostData() する
ちなみに上記の2番目の方法でPOSTされた場合、フィールド名を指定してデータを取り出すことができない。PHPでデータを取り出す場合は下記のようにすればPOSTされたデータを取り出すことができる。
$xmlString = file_get_contents("php://input");
0 件のコメント:
コメントを投稿