Android开发中如何使用抓包工具Fiddler更改后台接口数据
2017-12-04 15:14
1196 查看
1.什么是Fiddler
Fiddler是一个使用 C# 编写的 http 抓包工具。它使用灵活,功能强大,支持众多的 http 调试任务,是 web、移动应用的开发调试利器。同 Httpwatch、Firebug 这些抓包工具一样,Fiddler 够记录客户端和服务器之间的所有 http 请求,可以针对特定的 http 请求,分析请求数据、设置断点等。
但 Fiddler 更为强大的是,它还可以修改请求的数据,甚至可以实现请求自动重定向,从而修改服务器返回的数据。
Fiddler 使用也十分方便。在打开 Fiddler 的时候,它就自动设置好了浏览器的代理,通过改写 http 代理,让数据从它那通过,来监控并且截取到数据。当关闭 Fiddler 的时候,它又自动帮你把代理还原。
下载地址:https://www.telerik.com/download/fiddler
2.走进Fiddler
前面介绍了Fiddler是web、移动应用的开发调试利器。所以,打开Fiddler请求网页,左边的接口列表区域就会显示你所请求的每个接口。
点击左侧列表中的某个请求,在右侧的Inspectors功能菜单下就可以看到该接口非常详细的请求、返回数据。
如果只想要看到自己app请求的接口信息,则可以使用Fiters进行过滤。
Zone:指定只显示内网(Intranet)或互联网(Internet)的内容
Host:指定显示某个域名下的会话
这里以jianshu.com为例。
如果想修改服务器返回的接口数据,则可以使用AutoResponder功能。
3.改变接口返回的数据
AutoResponder 允许你拦截指定规则的请求,并返回本地资源或 Fiddler 资源,从而代替服务器响应。通常我们在开发App项目的初期,如果出现App端前期工作已经做完了,但服务器端接口联调通过但数据不够完善。这时我们就可以通过Fiddler来修改服务器返回的接口数据了。当然Fiddler还有很多用处,比如某个App在某种情况下限制你进入,那么可以尝试用Fiddler修改接口数据。配置
这里默认端口号是8888,重启Fiddler。然后要求手机和电脑连接到同一网络,Windows系统可以通过cmd-ipconfig查看到ip地址。假设电脑的IP是192.168.1.1,将手机中wifi设置为如下图所示
接着打开手机浏览器请求http://192.168.1.1:8888,在打开的页面中点击“FiddlerRoot certificate”。
然后在AutoResponder 项中勾选以下两个。第一个复选框的作用是开启或禁用自动重定向功能。
第二个复选框的作用是不理会那些没满足我们处理条件的请求。
配置完成,现在开始对接口的数据进行修改替换。从左边选择一个你想要修改返回数据的接口,点击Add Rule就会自动显示在右边区域,直接按住左边不放拖过来也行。
接着添加一个你希望返回的json数据文件,用于替换掉服务器接口返回的数据。用Notepad++创建一个uesrinfo.txt文件作为接口返回数据。
点击Find a file,选中userinfo.txt。到此,大功告成!
最后,打开App,请求接口,看下Android Studio中返回的数据是否发生了改变。
文中部分内容参考:http://www.hangge.com/blog/cache/detail_1697.html
感谢您的阅读!欢迎指正!
相关文章推荐
- Android网络开发中如何使用JSON进行网络通信---Android JSON数据通讯方法解析
- android如何使用BroadcastReceiver后台实现来电通话记录的监听并存取到sqllite数据库通过Contentprovilder实现接口
- 使用抓包工具 Fiddler 修改后台接口返回数据
- android开发如何在不知道接口时,获取url---工具Fiddler
- Android应用开发中如何使用RSA加密算法对数据进行校验
- android视频开发之一Android 如何使用juv-rtmp-client.jar向Red5服务器发布实时视频数据
- Android应用获取后台基于SSH框架开发的接口数据
- 使用Fiddler抓取手机应用数据接口(Android和ios)
- 使用 NodeJs 实现一个本地接口数据系统,无需数据库,让前端独立于后台开发
- 如何在Vue项目中使用Mockjs,模拟接口返回的数据,实现前后端分离独立开发
- (android 互联网开发)2 访问https接口,进行数据交互(已在实际项目中使用)
- Android开发:使用序列化接口Parcelable、Serializable实现Activity间传递复杂数据类型参数
- Android网络开发中如何使用JSON进行网络通信---Android_JSON数据通讯方法解析
- 【Android数据加密与完整性校验之RSA加密算法】Android应用开发中如何使用RSA加密算法对数据进行校验
- Android应用开发中如何使用RSA加密算法对数据进行校验
- Android网络开发中如何使用JSON进行网络通信---Android JSON数据通讯方法解析
- Android开发:使用序列化接口Parcelable、Serializable实现Activity间传递复杂数据类型参数
- Android官方开发文档Training系列课程中文版:后台加载数据之使用CursorLoader进行查询
- Android学习-----如何使用sqlite进行后台数据交互,sqlite入门使用例程
- Android开发:使用序列化接口Parcelable、Serializable实现Activity间传递复杂数据类型参数