测试人社区

求助:mitmproxy作业,命令窗口报错

import json
from mitmproxy import http
#1.方法request不能都修改
def response(flow: http.HTTPFlow):

    '''
    1.第一只股票名字不变
    2.第二只股票名字变成双倍
    3.第三只股票名字变成空
    '''
    if "quote.json" in flow.request.pretty_url and "x=" in flow.request.pretty_url:
        #响应的原始结构是字符串
        data=flow.response.content
       #data 是一个字符串的类型
        data=json.loads(data)
        a1=data["data"]["items"][1]["quote"]["name"]
        a=a1+a1
        data["data"]["items"][1]["quote"]["name"]=a
        #flow.response.text = json.dumps(data)
        data["data"]["items"][2]["quote"]["name"]=""
        flow.response.text = json.dumps(data)

终端报错tu


但是目前看预期结果是对的,不明白为什么回报这个错,麻烦老师看看

打印下你的data,里面没有quote


老师看上图

层级不对 中间隔了几层吧

层级对的呢

别老截图,贴下完整的格式。或者在使用quote之前,先打印下父层的结构。既然报错说是没有,那么计算机不会骗你,你就直接打印 data[“data”][“items”][1] 看看