文章插图
然后我们再单击 Resume 按钮,将返 回信息放行,就会在浏览器看到如下图的效果:
文章插图
好了,以上我们只是手动简单操作了下,主要是可以让大家明白它的原理,接下来我们就来演示,通过 Python 脚本来自动完成数据的操作 。
Python 脚本示例接下来我们通过 Python 写一段脚本,实现在你用百度搜索任意内容时,都把你搜索的内容改为“建议使用Google搜索”,并且把请求返回内容里面,所有“百度”的字串都自动替换为“谷歌”,这个小脚本让我们同时实现了修改请求和返回内容,现在就上代码:
# baidu.py# 引入对应模块import mitmproxy.httpfrom mitmproxy import ctx, httpclass Baidu:# 请求时需要处理def request(self, flow: mitmproxy.http.HTTPFlow):if flow.request.host != "www.baidu.com" or not flow.request.path.startswith("/s"):returnif "wd" not in flow.request.query.keys():ctx.log.warn("can not get search word from %s" % flow.request.pretty_url)return# 打印日志ctx.log.info("正在搜索: %s" % flow.request.query.get("wd"))# 替换搜索关键词flow.request.query.set_all("wd", ["建议使用Google搜索"])# 请求返回时需要处理def response(self, flow: mitmproxy.http.HTTPFlow):# 获取请求返回的文本并替换text = flow.response.get_text()text = text.replace("百度", "谷歌")flow.response.set_text(text)# 增加插件addons = [Baidu()]
写好代码保存,接下来我们重新启动 mitmweb ,这次命令后需要加上参数使 Python 脚本生效,在命令行输入: mitmweb -s baidu.py ,启动完成后我们回到浏览器打开百度随便输入个内容进行搜索,你会看到效果如下图所示:文章插图
文章插图
【教你用 Python 操控你的上网请求】
可以看到上面我们随便个词点搜索,返回的结果都是“建议使用Google搜索”,并且右上角“百度”也都被替换为了“谷歌” 。
总结本文为大家介绍了 mitmproxy 工具的安装以及如何使用,并写了一段小脚本简单实现了用它如何修改拦截的请求和返回的内容 。当然它的功能不止这么简单,有了它我们可以做很多事情,有兴趣的话后续再为大家介绍 。
推荐阅读
- 开发安全、高质量代码的 5 款顶级 Python 工具
- 10分钟教你Python+MySQL数据库操作
- 腾讯在职八年Python开发经验的程序员写给初学者的总结,希望有用
- 推荐 13 个 Python 新手练级项目
- 练手的70个超火python小项目,小编建议收藏哦,送你们玩去吧
- 看完此文章若你还不能完美的入门Python,我将永远退出IT界
- Python其实超简单:只需记住3个、4类、5大、6种即可轻松入门
- 君山银针如何鉴别,教你如何鉴别君山银针的品质
- 现在程序员进行数据分析都在用Excel?Python才是时代的趋势
- 小孩判逆期怎么教育