解决fiddler不能抓取eclipse发出接口请求的问题

Posted helenMemery

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决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);

 

以上是关于解决fiddler不能抓取eclipse发出接口请求的问题的主要内容,如果未能解决你的问题,请参考以下文章

6. 使用Fiddler做接口测试

Fiddler中如何抓取app中https(443端口)数据

android app 怎么让fiddler抓不到接口

Fiddler怎么抓请求做接口

Fiddler 抓取eclipse中的请求

Fiddler抓取https数据包