解决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发出接口请求的问题的主要内容,如果未能解决你的问题,请参考以下文章