2009-12-09 69 views
2

我正在开发一个网关脚本,需要将信息发送到另一个提供商的服务器,我需要调试代码。如何用Apache捕获CURL/XML数据?

有没有办法在我自己的Linux + Apache + PHP服务器上捕获这个脚本中的CURL/XML数据?

我知道PHP,我可以在脚本中看到例如$ _POST,$ _GET或$ _REQUEST数据,但是使用CURL我实际上并没有在我的浏览器中访问http://intranet/capture.php脚本 - 所以这并不是'工作。

有没有其他方法,用服务器上的脚本来捕获传递给服务器的所有内容,并将其转储到数据库/平面文件?

我甚至尝试监测的/ var /日志/ HTTP/Access_log的Linux服务器上,但它并没有透露太多

那么,怎样才能我看到卷曲脚本执行,究竟是什么,作为服务器看到它?

+0

你是什么意思:“但与CURL我实际上并没有在我的浏览器中访问http://intranet/capture.php脚本 - 所以这是行不通的。” – 2009-12-09 11:29:57

回答

1

你可以尝试的是这个。

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

我不知道如果这是你的意思,但它一样卷曲(在某种程度上)

你想看到的卷曲

$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); 

我希望输出这就是你的意思

0

在这种情况下,你是客户端,提供者的服务器是服务器。

假设您正在运行来自客户端的curl命令,您所能得到的只是Robert Cabri所说的。

如果您试图查看服务器收到的内容,则需要具有适当的访问权限,并且还需要知道服务器运行的服务器堆栈以满足您的请求。