私は外部APIとやりとりするアプリケーションを持っています。リモートサービスが特定のステータスを含むリクエストを投稿すると、そのURLの内容全体を外部URLを通じて別のアプリケーションに再送信する必要があります。
$ _REQUEST全体を取り出して再配置したり、$ _REQUESTを繰り返し実行したり、必要な場所に新しい配列を作成する必要がありますか?
私は外部APIとやりとりするアプリケーションを持っています。リモートサービスが特定のステータスを含むリクエストを投稿すると、そのURLの内容全体を外部URLを通じて別のアプリケーションに再送信する必要があります。
$ _REQUEST全体を取り出して再配置したり、$ _REQUESTを繰り返し実行したり、必要な場所に新しい配列を作成する必要がありますか?
あなたは$ _POSTと$ _GETの値を区別する必要があります。
$ _REQUESTは、一つのキーが$ _REQUEST配列に救わ際の優先順位を持って$ _POSTから$ _POSTや$ _GET値を設定しておけばと POSTをGETすることによって来ているすべての値を表します。
$ _GET経由で届くすべてのものをURLに追加し、$ _POSTからすべてをリクエスト本体に送信します。
$ _REQUESTは配列です。だから、あなたが必要な場所に投稿することができます。ただ、cURLの
検索CURLを使用し、これはかなり簡単にする必要があります:私はcURL拡張機能を使用することになり
。
両方segementsは、POSTメソッド
ている場合、私が正しくあなたの質問を理解していれば、あなたがCURLでそれを行うことができるしている、再エンコードのオーバーヘッドを保存することができ$HTTP_RAW_POST_DATA
を使用する:
$ch = curl_init("http://sitename.com/");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, "field1=value1&field2=value2");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
「フィールド1
:= VALUE1 &フィールド2 = value2" のは、あなたは操作が完了したかの結果を得ることができるしている。また、あなたの引数でを交換されます210
の後$ result = curl_exec($ ch);
$result_info = curl_getinfo($ch);
$result_info['http_code']
がHTTPコードに設定されています。それが200の場合はSUCCESSです(もちろん、コードが人為的に別のコードに設定されているなど、コードが異なる場合があります)
本当に$ _REQUESTが必要ですか?すべてのデータが投稿されたら、$ _POSTを取ることをお勧めします。 –