0

PHP を使用して、Web サービス用の小さな RESTful インターフェイスをセットアップしたいと考えています。問題は、フレームワークを見て、フィールド名なしで投稿されたデータを受け取る方法がわからないことです。

たとえば、サーバーがデータをサーバーに投稿する場合、postfield (POST 変数) を必要とせずにデータを取得する方法がわかりません。伝統的に、フォームを使用して、人々は次のようなフィールド名で投稿データを送信します。

 curl_setopt($ch, CURLOPT_POSTFIELDS, postfield=postvalue);

そして、私は次のようなPHPコードを使用します:

 $postvalue=$_POST[postfield];

ポストフィールドの値を取得するには、データを投稿するサーバーがポストフィールドを使用せず、XML を送信しているだけなので、フィールドなしで取得するにはどうすればよいですか? XML をキャプチャするにはどうすればよいですか? それが私が迷っているところです。

4

5 に答える 5

2

@ネトロックス

  • REST サービスに application/x-www-urlencoded を使用することは完全に有効です。
  • 次のようなあらゆる種類の POST データを読み取ることができます。

    $data = file_get_contents('php://input');
    

サービスが JSON 形式を受け入れる場合は、それをデコードして使用できます。

$json = json_decode($data);
于 2012-09-12T15:40:08.320 に答える
0
file_get_contents('php://input');

それはあなたにクライアントによって送られた生の体を与えます

于 2012-09-12T15:42:01.910 に答える
-1

一般に、GET または POST を使用してデータをサーバーに渡します。API の役割に応じて、いずれかを選択する必要があります。ただし、実装と使用が簡単という理由だけで、すべてのエントリにキーが必要です。キーなしで必須の順序でデータを渡すと (何がどこにあるのかをコードに知らせておくため)、エラーが発生しやすくなります。

于 2012-09-12T15:41:08.650 に答える
-2

すべての投稿変数には名前があります。それがどこから来ているかは問題ではありません。XML を送信している場合、その XML データには名前があり、$_POST を使用して XML データを取得できます。XML データを取得したら、XML パーサーで解析できます。

于 2012-09-12T15:39:58.063 に答える