2

誰かが質問で私を助けることができるかどうかわからない.

私が働いている会社のために、JSON 本体を受け入れる API と統合できるようにするための PHP を作成する必要がありました。私は cUrl メソッドを使用しましたが、スクリプトはうまく機能しています。

送信したリクエストを受け入れる別の php ページを作成したい場合、どうすればよいでしょうか?

誰かがこの同じリクエストを私に送信することを許可し、送信した情報を私のデータベースに入れたいとしたら、どのようにしてリクエストを php 文字列に変換するのでしょうか?

これが送信するコードです。

<?
$json_string = json_encode(array("FirstName" => $name, "MiddleName" => " ", "LastName" => $last));;
// echo $json_string;
// jSON URL which should be requested
$json_url = 'http://www.exampleurl.com';
// jSON String for request
// Initializing curl
$ch = curl_init( $json_url );
// Configuring curl options
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array(
    'Accept: application/json;charset=utf-8',
    'Content-Type: application/json;charset=utf-8',
    'Expect: 100-continue',
    'Connection: Keep-Alive') ,
CURLOPT_POSTFIELDS => $json_string
);
// Setting curl options
curl_setopt_array( $ch, $options );
// Getting results
$result =  curl_exec($ch); // Getting jSON result string
echo $result;
$myArray = json_decode($result);
$action = $myArray->Action;
?>
4

2 に答える 2

3

受信する POST から生データを取得するには、使用します$postData = file_get_contents('php://input');

http://php.net/manual/en/reserved.variables.post.php

次にjson_decode()、その POST の内容を JSON に戻します。

http://php.net/manual/en/function.json-decode.php

于 2012-12-10T20:14:46.053 に答える
0

あなたの質問をよく理解できませんでした。生の POST データを読み取る方法をお探しですか? その場合は、php://stdinストリームを開いて読み取ります。

$stdin = fopen('php://stdin', 'r');

ちなみにこちら( http://php.net/manual/en/function.curl-setopt.php )の使い方を読んでくださいCURLOPT_POSTFIELDS。このパラメーターは、'para1=val1¶2=val2&...' のような urlencoded 文字列として渡すか、フィールド名をキーとしてフィールド データを値として持つ配列として渡すことができます。

于 2012-12-10T20:14:30.960 に答える