我正在使用应用程序“Fiddler”通过PHP cURL调试GET尝试到网站。为了查看cURL流量,我必须指定cURL连接使用Fiddler代理(请参阅下面的代码)。在HTTP调试代理中使用PHP cURL
$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);
但问题是,在小提琴手,我只能看到这一点:
请求(domain.com只是一个别名):
CONNECT domain.com:80 HTTP/1.1
响应:
HTTP/1.1 200 Blind-Connection Established
如果我在浏览器中手动加载网站提琴手给我WAY mo重新信息。我可以看到Cookie,标题信息以及通过GET获得的信息。
任何想法为什么Fiddler无法从PHP cURL中看到更多有用的信息?
编辑:我试着在里面工具“启用HTTPS解密”选项打开/菲德勒选项/ HTTPS(我不知道为什么我会需要使用,因为我没有告诉卷曲使用HTTPS)。
不幸的是,通过更改此设置我现在得到的响应:
HTTP/1.1 502 Connection failed
编辑:如果有帮助,应用程序“查尔斯”显示我比小提琴手WAY更多的信息,但我真的想找出Fiddler,因为我更喜欢它。
对不起,我完全错过了你没有在这里使用SSL的事实。除非您实际使用SSL流量,否则没有理由使用CONNECT隧道。 – EricLaw 2009-11-05 02:52:06