PHP で連続したカールを処理する方法について、難しい質問があります。私はこの信じられないほどのデータフローを持っています:
- example.com/one.php curl 経由で another.com/two.php にデータを投稿
- another.com/two.phpは、curl 経由で another.com/three.php にデータを投稿します。
- another.com/three.phpから XML (または JSON) で応答が返され、another.com /two.php に返されます。
- another.php/two.phpは、XML を php 配列に変換してから、curl を介して元のexample.com/one.phpに投稿するクエリ文字列に変換します。
できます。なぜ私がこの非常識なデータ フローを持っているのか疑問に思っているなら、それは another.com/three.php が Ioncube で難読化されたファイルであるという事実によるものです。編集することはできませんが、彼にデータを送信する前にチェックを追加する必要があります。別の方法がないので、別の方法でそれを作成する方法を見つけようとして時間を無駄にしないでください (私を信じてください)。
example.com/one.php には、ユーザーがデータを入力するフォームがあります。彼らが「送信」を押すと、彼らはこのページに残りますが、「黙って」私は 1->2->3->4 を作成して応答 (ステップ 4 の $_POST) を取得し、それを example.com/log に保存できます。 TXT。再びそれは動作します。
私の質問は次のとおりです: example.com/one.php で $_POST 応答 (log.txt ファイルで取得したものと同じ) を表示するにはどうすればよいですか? つまり、これがステップ4で持っているものです。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, example.com/one.php);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $query_string);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$xml = curl_exec($ch);
$_POST は example.com/one.php に到着しますが、もちろんユーザーとこのカールは 2 つの異なるレベルにあります。file_get_contents()、sleep()、および CURLOPT_RETURNTRANSFER で遊んでみましたが、成功しませんでした。この質問の答えは何ですか?セッションまたは ob_start() に行きますが、よくわかりません。