解決fiddler不能抓取eclipse發出接口請求的問題


使用eclipse執行接口時,發現在fiddler里面抓不到這些請求。

網上找了很多資料都是讓在Eclipse 中設置:Windows > Preferences > Java > Installed JREs ,選中Installed JREs > Edit > 設置Default VM arguments:

-Dhttp.proxySet="true" -Dhttp.proxyHost="127.0.0.1" -Dhttp.proxyPort="8888"

或者代碼中加入如下內容:

System.setProperty("http.proxySet", "true"); 
System.setProperty("http.proxyHost", "127.0.0.1"); 
System.setProperty("http.proxyPort", "8888");

這樣的設置對我的項目完全不成效,后來才發現這個方法在HttpURLConnection下才可行,而我用的是HttpClients。

解決HttpClients抓包問題需要設置如下代理:

HttpHost proxy = new HttpHost("localhost", 8888, "http");  
RequestConfig config = RequestConfig.custom().setProxy(proxy).build();           
        
HttpPost httpPost = new HttpPost(URL); 
httpPost.setConfig(config);

下面是我寫的項目接口公共類,加上了代理,大家也可以參考一下

 

當然,也可以直接在定義httpCilent時設置(這個方法最簡潔),如下:

HttpHost proxy = new HttpHost("localhost", 8888, "http");
RequestConfig config = RequestConfig.custom().setProxy(proxy).build();
CloseableHttpClient httpCilent= HttpClientBuilder.create().setDefaultRequestConfig(config).build();
……
HttpResponse httpResponse = httpCilent.execute(httpUriRequest);

 


免責聲明!

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



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