2

別のプロバイダーのサーバーに情報を送信する必要があるゲートウェイ スクリプトを開発しており、コードをデバッグする必要があります。

自分の Linux + Apache + PHP サーバーで、このスクリプトから CURL / XML データをキャプチャする方法はありますか?

PHP では、たとえばスクリプト内の $_POST、$_GET、または $_REQUEST データを確認できることを知っていますが、CURL では、実際にはブラウザーでhttp://intranet/capture.phpスクリプトにアクセスできません。したがって、これは機能しません。

サーバーに渡されたすべてのものをキャプチャし、データベース/フラットファイルにダンプするサーバー上のスクリプトを使用する他の方法はありますか?

Linux サーバーの /var/logs/http/access_log を監視してみましたが、あまりわかりませんでした

では、CURL スクリプトの動作を、サーバーが認識しているとおりに正確に確認するにはどうすればよいでしょうか?

4

2 に答える 2

1

あなたが試すことができるのはこれです。

echo htmlentities(file_get_contents('http://intranet/capture.php'));

これがあなたの言いたいことかどうかはわかりませんが、curlと同じです(一種)

curl の出力を見たい

$ch = curl_init();    // initialize curl handle
curl_setopt($ch, CURLOPT_URL, $url ); // set url to post to
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// allow redirects
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable
curl_setopt($ch, CURLOPT_TIMEOUT, 3); // times out after 4s
curl_setopt($ch, CURLOPT_POST, 1); // set POST method
$result = curl_exec($ch); // run the whole process
curl_close($ch);

echo htmlentities($result);

これがあなたの言いたいことだと思います

于 2009-12-09T11:28:01.520 に答える
0

この場合、あなたがクライアントであり、プロバイダーのサーバーがサーバーです。

クライアントからcurlコマンドを実行していると仮定すると、ロバート・カブリが言ったことしか得られません。

サーバーが受信しているものを調べようとしている場合は、適切なアクセス権が必要であり、要求を処理するためにサーバーが実行しているアプリケーション スタックを知る必要もあります。

于 2009-12-09T15:50:14.710 に答える