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 命令,您所能得到的就是 Robert Cabri 所说的。

如果您试图查看服务器接收到的内容,您需要具有适当的访问权限,并且还需要知道服务器正在运行什么应用程序堆栈来满足您的请求。

于 2009-12-09T15:50:14.710 回答