抓手机包步骤:
- Tools -- Fiddler Options -- Connections
- (默认)Fiddler listens on port:8888
- (勾选)Allow remote computers to connect
- cmd 控制台
- ipconfig
- 手机连接电脑发出的wiff。
- 修改网络,设置代理ip,port 及为上图 和 8888
过滤:
Breakpoints
必要时可以模拟网络延迟的效果.
- Filters -- Breakpoints 设置断点类型
- 请求,发现如下 T 图标
-
Inspectors
绿色:放行.
转发调试
描述:实际运行中的项目无法调试,因此某些特殊情况,需要将实际业务请求转发本地运行的项目上,来断点调试
步骤:
- 左下角黑色命令输入框
使用urlreplace修改该域下请求,把发送至 www.teyiting.com 的请求,转发到 本地:localhost:8080/epark
注意:我将项目直接打包ROOT.war,发布到 www.teyiting.com 的tomcat/webapp目录下,因此这里没有/epark,而在localhost上记的加上项目名字. - 其次注意SessionID的问题,可能转发会被跳转到/login.jsp
那么这样就需要配合 fiddler Breakponits
(修改完后,再放行.)
注意:
- 发现只能在某些比如mapper才能debug,其它位置打上断点也不停下。
修改response方法
描述:通过把response重定向至本地文件而非获取服务器返回,可以达到调试目的。
步骤:
- 看看服务器响应了什么内容?
如果有必要,则把这里的TextView内容copy出来,生成一个html文件。 - 设置 AutoResponder
-
验证:
我这里请求www.teyiting.com/index.do 后响应了 本地文件(本地文件修改一些比较显眼的标志)
但是不要被浏览器地址给恍了,以为浏览器的地址栏里还是 www.teyiting.com ,其实已经响应了本地文件了。
监听 HttpURLConnection请求
默认情况下Fiddler是不能监听Java HttpURLConnection上的HTTP请求的。
原因容易理解,Fiddler能监听浏览器的HTTP请求是因为它启动一个代理服务器,浏览器通过这个代理服务器上网,但HttpURLConnection默认不使用该代理。
原因容易理解,Fiddler能监听浏览器的HTTP请求是因为它启动一个代理服务器,浏览器通过这个代理服务器上网,但HttpURLConnection默认不使用该代理。
Fiddler 官方给出的解决方法是启动Java程序时设置代理,例如:
1
|
java -DproxySet= true -DproxyHost= 127.0 . 0.1 -DproxyPort= 8888 Main2
|
*上有人提供了另一种方法:
1
2
3
4
5
6
|
// set http proxy System.setProperty( "http.proxyHost" , "localhost" );
System.setProperty( "http.proxyPort" , "8888" );
// set https proxy System.setProperty( "https.proxyHost" , "localhost" );
System.setProperty( "https.proxyPort" , "8888" );
|
jrebel 7免费激活(非破解)
JRebel有一个免费获得激活码的方法,登录 https://my.jrebel.com 这个网站(FQ),然后用Twitter或者Facebook账号登录这个网站,就能获得免费的激活码。
【如有其它需求,再后续更新】 2017年5月4日 21:41:55