如何设置Fiddler来拦截Java代码发送的HTTP请求,进行各种问题排查
我们使用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开发者工具的角色。
本文来自云栖社区合作伙伴“汪子熙”,了解相关信息可以关注微信公众号"汪子熙"。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
为什么 APP 纷纷开发“暗黑模式”?优酷最佳实践总结
一、缘起 随着iOS 13和Android 10的正式发布,一个名词"暗黑模式(Dark Mode)"逐渐走入了大家的视野。各大APP都将暗黑模式的适配列入了开发日程,舆情上用户们对暗黑模式支持的呼声也非常的高。优酷主客也顺应时势,启动了相应的技术预研。 从2019年11月开始,优酷主客Android端和iOS端使用了两个版本的时间,推动各业务方基本完成了主要使用路径上数十个页面的改造,还使用同一套方案同步完成了部分Weex页面和H5页面的适配,并完整地通过了UED的视觉验收。 当前,到APPStore和各大Android市场下载的优酷APP最新版本,均已全量支持“暗黑模式”。我们邀请了参与优酷APP暗黑模式设计/开发/测试的同学们编写《优酷APP全量支持“暗黑模式” 设计与技术完整总结》,全面介绍了整个项目的实施流程和经验教训,也是对整个项目做一个完整的总结,感兴趣的同学可下翻至文末下载。 二、什么是暗黑模式? 不考虑计算机工业早期的黑色底,绿色字符的终端界面,暗黑模式的概念主要来源于MacOS,该系统为用户提供两个外观,即"浅色"和"深色"。 自从有了这个概念之后,很多网站都为用户...
- 下一篇
使用Fiddler为满足某些特定格式的网络请求返回mock响应
假设我想对本地Java程序发起的调用SAP Hybris web service https://jerrywang.com:9002/rest/v2/electronics/users/ 这个网络请求生成一个mock响应。 在Fiddler session监控列表里,找到要生成mock响应的请求,进入AutoResponder标签页,将Enable rules前面的勾选中,创建一条新的rule,点击Generate File: 此时在我Fiddler安装目录的Captures文件夹下面生成了一个200_SimpleHTML.html文件: C:Usersi042416DocumentsFiddler2CapturesResponses 使用记事本编辑这个文件: 重新使用Java应用发送HTTP请求,这条rule生效: 此时Java应用收到了Fiddler构造的mock响应: 本文来自云栖社区合作伙伴“汪子熙”,了解相关信息可以关注微信公众号"汪子熙"。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 2048小游戏-低调大师作品
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- MySQL8.0.19开启GTID主从同步CentOS8
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池