接口协议与mock抓包

  • 要求: 看完本章节所有课程内容,并完成作业,优先回答和作业相关的问题
  • 有什么问题在评论区回复

知识点

  • mock 原理
  • mock的应用场景
  • charls进行接口mock
  • mitmproxy的使用

作业

使⽤ Rewrite 实现股票颜⾊变换的的边界值测试

优秀作业

[{
“id”: 2430,
“name”: “段永平专刊(下)”,
“description”: “”,
“image”: “http://xqimg.imedao.com/17637ea561f1553fe2804b86.jpg”,
“rank”: 2514,
“created_at”: 1607255875560,
“url”: “雪球特别版——段永平投资问答录(投资逻辑篇) 段永平:著名企业家,小霸王品牌缔造者, 步步高创始人,vivo和OPPO 联合创始人,网易丁磊生命中的贵人,拼多多黄峥的...
}, {
“id”: 2513,
“name”: “私募”,
“description”: “”,
“image”: “http://xqimg.imedao.com/17b064dc37513fbf16fe4330.png”,
“rank”: 2513,
“created_at”: 1627898369061,
“url”: “雪球私募
}] 接口返回值是LIST时,怎么对接口返回的数据加倍呢

可以使用下述的代码实现数据体的翻倍操作,课程上有演示加倍后的现象


import json

import mitmproxy
from mitmproxy import http, ctx


class RewriteMitm:

    def response(self, flow: http.HTTPFlow):
        # 编写匹配的规则
        if 'quote.json'in flow.request.pretty_url and 'x=' in flow.request.pretty_url:
            ctx.log.info(f'{flow.response.text}')
            data = json.loads(flow.response.text)
            data['data']['items'] += data['data']['items']
            flow.response.text = json.dumps(data)


addons = [
    RewriteMitm()
]

if __name__ == '__main__':
    from mitmproxy.tools.main import mitmdump

    mitmdump(['-p', '8080', '-s', __file__])