如何设置Fiddler来拦截Java代码发送的HTTP请求,进行各种问题排查
发布日期:2021-06-30 14:04:10 浏览次数:3 分类:技术文章

本文共 1233 字,大约阅读时间需要 4 分钟。

我们使用Java的RestTemplate或者Apache的HTTPClient编程的时候,经常遇到需要跟踪Java

代码发送的HTTP请求明细的情况。和javascript代码在浏览器里发送请求可以通过Chrome开发者工具方便地跟踪一样,对于Java代码发送的网络请求,我们也可以使用工具Fiddler来监控。

打开Fiddler,在connections面板里找到Fiddler监听的端口号8888:

如果是使用Apache的HTTPClient进行网络请求发送,代码如下:

使用HttpHost设置请求代理:

private static void downloadCommerce(){		HttpHost proxy = new HttpHost("localhost", 8888, "http");		RequestConfig config = RequestConfig.custom().setProxy(proxy).build();		CloseableHttpClient client= HttpClientBuilder.create().setDefaultRequestConfig(config).build();		String url = "https://jerrywang.com:9002/rest/v2/electronics/users/jerry.wang@sap.com";		String token = "test";	    HttpGet get = new HttpGet(url);	    get.setHeader("Authorization", "Bearer " + token);	        try {	            HttpResponse response = client.execute(get);	            HttpEntity entity = response.getEntity();	            String result = EntityUtils.toString(entity, "UTF-8");	            System.out.println("url: " + result);	        } catch (Exception e){	        	e.printStackTrace();	        }	}

执行Java应用,然后到Fiddler里,看到了监控到的HTTP请求各种明细,比如Java代码里硬编码的OAuth 2的认证token test:

Java代码收到的服务器端返回的错误消息:

这个错误消息在Fiddler里当然也是可以看到的:

在这种场景里,Fiddler扮演的就是类似Chrome开发者工具的角色。

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

转载地址:https://jerry.blog.csdn.net/article/details/103636941 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:使用Fiddler监控使用RestTemplate发送网络请求的Java应用
下一篇:介绍一个非常好用的文件服务器 - HFS

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月27日 07时15分28秒