一、fiddler抓取移动端接口
1.获取PC端IP
2.手机ip设置为与电脑同一局域网ip并配置代理
1)手机ip地址与pc地址连接同一局域网网络
2)代理设置为手动,主机名为PCip,端口号为8888
3.对fiddler进行设置
tools->options->connections
勾选allow remote computers to connect即可
4.问题
抓取移动端的包时,已经按照如上所述进行设置,但是手机端wifi显示不可用
(1).我出现上述问题的原因是我的电脑和手机连接的是同一个路由器的wifi
解决办法:将手机连接上电脑端的wifi后即可
(2).查询百度发现另一种情况的解决办法
1)打开注册表,在HKEY_CURRENT_USERSOFTWAREMicrosoftFiddler2下创建一个DWORD,值设置为80(十进制)
2)编写FiddlerScript rule,点击Rules > Customize Rules,用ctr+f查找到OnBeforeRequest方法添加一行代码
Inside the OnBeforeRequest handler*, add a new line of code:
if (oSession.host.toLowerCase() == "webserver:8888") oSession.host = "webserver:80";
二、抓取HTTPS请求
1.设置fiddler,tools->options->https
2.安装证书
手机浏览器输入pc地址和端口号,打开后如图:
点击并安装证书后即可
三、模拟接口响应数据
以慕课网app为例
1.点击进入慕课网app,刷新课程页面,fidder中获取该接口
返回数据为jason格式,其中数据中的name=“使用beego构建完整web项目”与app端推荐界面的首个课程一致
2.将返回数据切换为TextView格式,并导出
从导出文档中可以看到name中的中文字符已被转码,我现在讲此串字符改成“this is a test”(中文需转码)并保存
3.启用autoResponder,并导入文件
启用autoResponder,并导入上一步保存的文件,点击保存后,再次刷新app推荐课程界面,发现首个课程的课程名字变为“this is a test”
结果: