https://www.apiopen.top/weatherApi?province=江苏&days=7
即删除city参数,新增province和days参数。
同样先按照上一步的步骤打开静态注入器编辑页面。点击city参数右侧的三个点按钮,打开功能选择弹框,一共有三个选项:跟随,自定义,禁用。
这里解释下三个选项的含义。
跟随,表示使用原始数据,不做任何修改(默认选项),颜色为灰色。
自定义,表示强行覆盖或添加设定的参数值,颜色为绿色。
禁用,表示强行删除此参数和值,颜色为红色。
所以,删除city参数,我们选择禁用选项,注意参数前面的点变成了红色。
下一步,点击新增按钮添加两个参数,province=江苏和days=7。
点击右上角保存,完成注入器创建后,我们重新再发一条请求,看看效果。
很明显,city参数没有了,多了province和days两个参数。
3. Headers修改、添加和删除
同上面URL操作相同,参考1和2,不再赘述。
4. 响应行(Status Line)修改
Http协议中响应行用来表示请求服务的结果状态,比如常用的200表示成功,404表示资源未找到,500表示服务器异常等等。
有的时候为了测试一些极端情况,比如服务器不返回200而是404,App状态是否会出现bug等。我们可以使用HttpCanary来强行修改响应行中的状态码来实现这种效果。
点击编辑按钮,打开列表,其中列出来几乎所有常用的响应行(都是标准响应行),我们从列表中选择404 Not Found。
选择后自动返回,如果想撤销操作,点击右边复位按钮。
我们点击右上角保存按钮完成注入器的创建,重新用AppTest应用发送一条相同请求。从下图中能看出,后面接收到的请求已经是404 Not Found了。
5. 请求/响应体(Body)修改
在App实际开发和测试中,修改请求数据和返回数据是最经常用到的。比如,测试地理位置相关接口时,需要修改经纬度;再比如,服务器返回了某些时间戳,我们希望将其延长或者缩短。
同样以此天气接口为例,希望将响应体中的yesterday的high改为100℃,low改为-100℃,type改为冰雹
打开创建静态注入器的页面后,拉到最下面。点击右侧向上的箭头,选择编辑方式。
静态注入器提供了两种方式用来编辑Body:上传文件和直接编辑。如果Body是二进制格式数据(比如音频、视频、ProtoBuffer等),HttpCanary内置的文本编辑器是无法处理的,只能使用上传文件的方式。如果Body是json、xml、fromdata等文本格式,可以使用直接编辑。
由于接口返回的天气数据是JSON格式,我们可以使用直接编辑选项,打开后直接进行数据修改。
保存后完成静态注入器的创建,用AppTest应用再发送一条相同请求,来看看结果。
修改成功!完美!
5. 静态注入器管理
静态注入器和我们常用的断点(BreakPoint)方式修改数据不同,它是通过预设的方式来拦截和修改数据,可以极大地提高数据修改的效率。
HttpCanary可以对一个请求配置多个静态注入器,按照先配置先生效的原则进行拦截处理。静态注入器一旦创建了,将会以Mod的形式作为插件功能存在于HttpCanary中,即使是杀掉HttpCanar APP后再重启也能生效。
那我们如何对注入器进行管理呢?打开设置->模组管理页面,能看到所有创建的静态注入器。
点击进入详情后,能看到注入器是属于哪个请求的。
如果需要删除或者禁用已经创建的静态注入器,只需要在列表页长按打开功能选项即可!
如果您对HttpCanary有任何疑问或者建议,可以访问HttpCanary Github并创建issue!
静态注入器的使用指南到此结束,感谢您的阅读!
作者:MegatronKing
链接:https://juejin.im/post/5c795b6d51882523f026826b
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。