解決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

stackoverflow上的牛人們也給出了在Java代碼中設置代理服務器的方法(見http://stackoverflow.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請求的能力。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM