3

我正在使用应用程序“Fiddler”通过 PHP cURL 调试对网站的 GET 尝试。为了查看 cURL 流量,我必须指定 cURL 连接使用 Fiddler 代理(参见下面的代码)。

$ch = curl_init();

curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:8888'); 

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_HEADERFUNCTION, 'read_header');  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_REFERER, "http://domain.com");
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookies.txt");
curl_setopt($ch, CURLOPT_URL, "http://domain.com");

$response = curl_exec($ch);

但问题是在 Fiddler 中我只能看到这个:

请求(domain.com 只是一个别名):

  CONNECT domain.com:80 HTTP/1.1

回复:

  HTTP/1.1 200 Blind-Connection Established

如果我在浏览器中手动加载网站,Fiddler 会给我更多信息。我可以看到 cookie、标题信息以及我通过 GET 接收到的内容。

任何想法为什么 Fiddler 无法从 PHP cURL 中看到更多有用的信息?

编辑: 我尝试在 Tools / Fiddler Options / HTTPS 中打开“启用 HTTPS 解密”选项(我不确定为什么需要使用它,因为我没有告诉 cURL 使用 HTTPS)。

不幸的是,通过更改此设置,我现在得到以下响应:

HTTP/1.1 502 Connection failed

编辑:如果有帮助,应用程序“Charles”向我展示了比 Fiddler 更多的信息,但我真的很想弄清楚 Fiddler,因为我更喜欢它。

4

1 回答 1

3

“已建立盲连接”表明您尚未打开工具/Fiddler 选项/HTTPS 中的“启用 HTTPS 解密”选项。

于 2009-11-02T02:56:10.763 回答