使用Fiddler2(PHP)捕获cURL跟踪

时间:2013-09-10 16:11:47

标签: php curl docusignapi

根据我的DocuSign客户经理的建议,我使用Fiddler2捕获API认证的必要跟踪。我无法从DocuSign域中检索跟踪,并将其缩小到这些是cURL调用的事实。

根据Fiddler2 http://fiddler2.com/documentation/Configure-Fiddler/Tasks/ConfigurePHPcURL,建议将以下内容添加到代码中:     curl_setopt($ ch,CURLOPT_PROXY,'127.0.0.1:8888'); 其中$ ch = curl_init()。

我也试过了     curl_setopt($ curl,CURLOPT_PROXY,'127.0.0.1:8888');

仍然没有骰子。我只从我的应用程序站点获得流量。以下是我的所有卷曲代码:

$url = "https://demo.docusign.net/restapi/v2/login_information";
$curl = curl_init($url);
$ch = curl_init();

curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("X-DocuSign-Authentication: $header"));
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curl, CURLOPT_CAINFO, getcwd()     ."/**the cert info");
curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:8888');//allows fiddler to see requests
$json_response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);

当我的应用程序正在运行时,它肯定与DocuSign域名交谈,我只是想弄清楚。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:4)

fiddler是客户端程序,它无法看到服务器流量到其他服务器只有客户端和服务器之间的流量。

除非您的服务器使用127.0.0.1在本地运行(在运行fiddler的同一台计算机上),否则这将无效,因为127.0.0.1是计算机的环回ip,在这种情况下服务器将尝试使用本身作为代理(如果服务器计算机本身就是一个正在运行的提琴手,那就没问题)。您需要将ip更改为运行fiddler的计算机,并确保服务器可以访问该端口。

答案 1 :(得分:0)

我遇到了完全相同的情况,我使用了Wireshark或TCPDUMP等协议分析器来查看网络级别的HTTP流量。

当然服务器需要在本地运行。您可以在Bellow中找到流量捕获的屏幕截图示例,您可以清楚地看到HTTP GET已经发布。

enter image description here