实际开发中为了解决Ajax跨域请求问题,会通过一个同域的控制器在服务端代理请求目标的Web API并将结果返回。为了便于调试这类请求,我们希望通过Fiddler可以监控到这些请求。Fiddler官方给出了Java应用程序如何配置:Configure a Java Application to Use Fiddler。不过我们发现如果我们使用org.apache.http.impl.client.DefaultHttpClient时,官方提供的两种方法都无效(使用java.net.HttpURLConnection不存在该问题)。

最初查了一些资料了解到需要通过代码显示设置DefaultHttpClient使用代理,如下:

HttpHost proxy = new HttpHost("127.0.0.1", 8888);
HttpClient httpClient = new DefaultHttpClient();
httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);

通过加入上面的代码以后Fiddler确实可以捕捉到请求,但这段代码的侵入性太大,没有达到我们的预期。于是就在Apache官网查资料。终于找到一篇非常有用的文章:Chapter 2. Connection management。在HttpClient proxy configuration章节提到了可以通过代码设置使用标准的JRE代理(One can also instruct HttpClient to use the standard JRE proxy selector to obtain proxy information),也就是说可以使用Fiddler官网提到的配置方式。修改代码如下:

DefaultHttpClient httpClient = new DefaultHttpClient();
SystemDefaultRoutePlanner routePlanner = new SystemDefaultRoutePlanner(ProxySelector.getDefault());httpClient.setRoutePlanner(routePlanner);

Fiddler如何捕捉DefaultHttpClient的HTTP请求相关推荐

  1. 解决Fiddler不能监听Java HttpURLConnection请求的方法

    在默认情况下,Fiddler不能监听Java HttpURLConnection请求.究其原因,Java的网络通信协议栈可能浏览器的通信协议栈略有区别,Fiddler监听Http请求的原理是 在应用程 ...

  2. fiddler无法抓取chrome浏览器请求的解决方案之关闭代理软件

    fiddler无法抓取chrome浏览器请求的解决方案之关闭代理软件 参考文章: (1)fiddler无法抓取chrome浏览器请求的解决方案之关闭代理软件 (2)https://www.cnblog ...

  3. Fiddler 抓取eclipse中的请求

    Fiddler 抓取eclipse中的请求 代码中添加 System.setProperty("http.proxySet", "true"); System. ...

  4. fiddler拦截模拟器中app的请求设置方法

    fiddler拦截模拟器中app的请求设置方法 fiddler设置 Tools -> Options -> connections 设置端口号 可以勾选Allow remote compu ...

  5. 编辑Fiddler的FiddlerScript脚本,代理请求到本地

    前言 博主JAVA开发工程师一枚. 最近两年工作基本上都是前后端分离~ 之前做电商项目,版本开发过程中,App开发同事(安卓/IOS)都会打一个测试包给我们,对自己开发的那部分接口进行自测.然而,Ap ...

  6. Fiddler抓包1-抓firefox上https请求

    前言 fiddler是一个很好的抓包工具,默认是抓http请求的,对于pc上的https请求,会提示网页不安全,这时候需要在浏览器上安装证书. 一.网页不安全 1.用fiddler抓包时候,打开百度网 ...

  7. 亲测_精简版Fiddler抓包手机端GET请求过程.

    网上Fiddler的抓包博客教程很多,但是根据楼主搜索亲测发现半数以上博客教程内容不全,故重新整理一种测试方案. 需要使用的软件:1,Fiddler软件(我的共享地址:h[去掉此大括号]ttp://[ ...

  8. fiddler工具条、状态栏、请求信息栏各按钮的作用

    1.fiddler工具条 2.fiddler状态栏 3.请求信息栏 转载于:https://www.cnblogs.com/kakaln/p/8198299.html

  9. fiddler修改客户端发出去的请求

    设置断点的两种方式: 1.通过工具栏设置断点 步骤:Rules --Automatic Breakpoints --选中 Before Requests 设置之后,客户端或者浏览器发起请求,模拟Goo ...

  10. Fiddler抓包,并修改请求数据

    浏览器抓包(工具:fiddler)并 修改请求内容 工具下载:https://pan.baidu.com/s/1pyKdAwgTdNNvoWA2bGlk9A 1.正常打开网页,输入要提交的内容 2.打 ...

最新文章

  1. gprof 性能优化工具
  2. 计算机四级考试操作系统单元题,计算机四级考试操作系统单选练习
  3. Java每天10道面试题,跟我走,offer有!(七)
  4. Go 语言框架 Gin 练习2
  5. SpringMVC运行流程分析
  6. python_异常处理
  7. foo( a )JAVA面试题_Java相关面试题总结+答案(五)
  8. python获取服务器文件svn版本信息_如何编程获取SVN版本号?
  9. c++ 字符串中的字符无效_13python中的字符串
  10. AIR ANE(本机扩展)使用中的一些问题(Android平台)
  11. 通过Wireshark获取宽带账号密码
  12. Selenium无法定位元素的九种解决方案
  13. 2019ICPC南京区域赛ABCHIJK
  14. STM32——PWM知识详解
  15. ignore在mysql中什么意思_ignore是什么意思
  16. 可用主机ip地址数量的计算
  17. 仓库软件可以管理仓库,这么简单!
  18. Python中except用法和作用
  19. 去除滚动条 去除滚动条样式 css修改滚动条样式
  20. python棋盘放麦粒_棋盘上的麦粒有什么问题?

热门文章

  1. 我的Android第二章
  2. c#设计模式之简单工厂
  3. main函数的argc和argv
  4. 在《Windows程序设计》中出现过的消息
  5. MonoRail学习笔记十七:TransformFilter的使用
  6. HihoCoder1449 后缀自动机三·重复旋律6
  7. CodeForces - 468A 24 Game
  8. vue自学入门-2(vue创建项目)
  9. python学习(十八)爬虫中加入cookie
  10. Filter过滤器处理JSP中文乱码