关注它,不迷路。
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!
Reqable是一款跨平台的专业HTTP开发和调试工具,在全平台支持HTTP1、HTTP2和HTTP3(QUIC)协议,简单易用、功能强大、性能高效,助力程序开发和测试人员提高生产力!本产品需要一定的网络基础知识,适合开发、测试、网络、安全、爬虫等工程专业人员使用,或者在专业人员的指导下使用。
下载地址:
https://reqable.com/zh-CN/
安装好工具后,按照提示安装证书,打开百度,发现可以抓包了,直接开干。
实战地址:
'aHR0cHM6Ly93d3cueHkxMDgwLm5ldC8='
浏览器打开后,会停在debugger位置:
通过分析上面的代码得知,这个 loop函数调用在这里:
setInterval(loop, 1);
而这个函数仅仅只是干扰调试,有或者无均不影响整个网站,因此,将该行直接屏蔽掉即可。所以,需要修改它的响应代码。
1.点击软件界面的这里的图标,开启 重写 功能
2.然后右键点击这个图标,选择 新建规则:
3.如图所示,新建规则:
名称可以随便输入,URL 填写完整,注意后面加 * 号,正则匹配一下,后面的 *? 点击让它高亮即可。行为,则选择 修改响应:
编辑框里面如上编辑,屏蔽掉该语句的执行,然后点击完成即可。
4.再次请求该网站,不再停留在debugger位置了,搜索发现,已经被替换掉了。
如果有多处需要修改,上面的操作就显得力不从心了,这个时候,我们可以选择它的 替换响应 功能:
我一般选择 文件替换:
大家可以试试把首页dump下来,然后替换试试,本文就不重复赘述了。
还有另外一种功能,可以实现同样的效果,就是它强大的 脚本功能 .
关掉上面的 重写 功能,打开 脚本 功能,如下图:
同样,右键点击这个图标,选择 新建脚本 :
名称和URL 设置,和上面的一样,没啥差别,我们修改它的响应函数:
- def onResponse(context, response):
- # Update status code
- # response.code = 404
-
-
- # APIs are same as `onRequest`
- test = str(response.body)
- if "setInterval(loop, 1);" in test:
- print ("666")
- response.body.replace("setInterval(loop, 1)",";")
- return response;
使用的是Python语言,非常的nice,简单看下API文档,就知道怎么写了。
这里我 将它的 body先转成 字符串 类型,然后再判断和改写。本案例中不用做判断,直接替换即可。
- def onResponse(context, response):
- # Update status code
- # response.code = 404
-
-
- # APIs are same as `onRequest`
- response.body.replace("setInterval(loop, 1);",";")
- return response
按下 Ctrl + S 保存,但不要关闭这个窗口,方便我们观察日志。再次刷新网站,窗口日志显示:
这里打印了 666,说明 已经执行了替换。再次按下F12,不再停留在debugger位置了,非常的nice。
今天的文章就分享到这里,后续分享更多的技巧,敬请期待。
欢迎加入知识星球,学习更多AST和爬虫技巧。