Holle~
Charles这个抓包工具真的挺好用,拦截功能操作简单,界面简洁,下面来说一下Breakpoints拦截怎么用吧。
拦截请求的前提是需要能够正常抓包,手机端则需要连接好代理,如果不会设置的可以去看我之前写的Charles抓包代理设置https://blog.csdn.net/a836586387/article/details/89703472
代理设置完成后,网络请求就会经过Charles,那么Charles开启Breakpoints功能就可以拦截这些请求,拦截时可以让这些请求通过或中止,那么现在来看看怎么样拦截百度的接口吧。
在手机端的浏览器上请求了手机百度网页版,可以看到在Charles上就发现百度的接口上有一摸一样的图片,也就是说,手机上的网络请求经过了Charles,Charles可以看到请求的内容,Charles也可以拦截这些请求不让通过,也可以拦截修改链接上的内容后再让这些请求通过。
当然了,Charles默认都是使其网络请求经过,从而在接口抓取传的内容而已,如果需要拦截的话就需要开启Breakpoints功能,进入poxy->Breakpoints Settings界面,当然了,也可以在Structure里选择指定接口右键选择Breakpoints来开启拦截功能,界面上方的工具栏图标也可以选择开启或关闭Breakpoints功能
点击“add”按钮添加所要拦截的接口,host栏可以使用通配符" * "匹配,也可以只选择拦截请求或拦截返回抑或是都拦截
通过抓取百度的接口,可以见到https://m.baidu.com这个接口是传搜索输入框内的内容,可以通过拦截修改搜索框输入里的内容去请求百度的服务器。
例如:我在百度输入框里输入"Charles",然后拦截该请求,修改成"ABCAAA",使其更改搜索内容
修改前⬇️:如果不开启拦截的话,那么点击"百度一下"按钮搜索出来的就会显示“Charles”内容
Cancel:取消,不拦截该接口,不对该接口做修改
Abort:中止该接口,不让该接口通过
Execute:通过该接口,修改请求参数后使其通过
修改后⬇️:将搜索的内容拦截修改成"ABCAAA"后,百度页面显示的内容就是"ABCAAA"啦
Breakpoints功能通过以上实例,可以举一反多,例如,修改请求里的其它内容(注意:部分参数修改后去请求会出现请求失败的问题)、修改请求的返回值、可以一直拦截让其不通过,使其请求超时或请求失败等等。