解决Fiddler不能监听Java HttpURLConnection请求的方法

时间:2023-03-08 17:46:41
解决Fiddler不能监听Java HttpURLConnection请求的方法

在默认情况下,Fiddler不能监听Java HttpURLConnection请求。究其原因,Java的网络通信协议栈可能浏览器的通信协议栈略有区别,Fiddler监听Http请求的原理是 在应用程序和操作系统网络通信层之间搭建了一个代理服务器,而Java的HttpURLConnection应该是绕过了这个代理服务器,因此 Fiddler无法监听到Java HttpURLConnection请求。

解决Fiddler不能监听Java HttpURLConnection请求的基本思路就是设置代理服务器。

Fiddler官网给出的解决办法(见http://www.fiddler2.com/fiddler/help/hookup.asp#Q-JavaTraffic)是设置jvm参数,如

jre -DproxySet=true -DproxyHost=127.0.0.1 -DproxyPort=8888 MyApp

*上的牛人们也给出了在Java代码中设置代理服务器的方法(见http://*.com/questions/8549749/how-to-capture-https-with-fiddler-in-java),如

System.setProperty("http.proxyHost", "localhost"); 
System.setProperty("http.proxyPort", "8888");
System.setProperty("https.proxyHost", "localhost");
System.setProperty("https.proxyPort", "8888");

当然最好还是希望Fiddler自身能过增加监听Java HttpURLConnection请求的能力。

http://www.cnblogs.com/tt-0411/archive/2012/03/18/2404355.html