新闻详情

新闻详情

首页 / 资讯中心 / 详情

为什么这个参数用flow: http.HTTPFlow,随便写一个叫request可以吗

发布时间:2026/9/6 5:38:07来源:尧图网络
为什么这个参数用flow: http.HTTPFlow,随便写一个叫request可以吗
简易 Mock mitmproxy 插件-详解为什么这个参数用flow: http.HTTPFlow随便写一个叫request可以吗先把flow: http.HTTPFlow拆成两部分看它其实是两件事defresponse(flow:http.HTTPFlow):# ↑参数名 ↑类型注解flow是参数名变量名: http.HTTPFlow是类型注解type hint只是标注「这个参数是 HTTPFlow 类型」一、参数名能不能随便改能。参数名叫什么对mitmproxy完全没影响。mitmproxy调用你的response时是按位置把flow对象传进来的不看你参数叫什么名字。所以下面这样完全能跑defresponse(request):ifnot_is_target(request):returnrequest.response.set_content(...)但有个大坑你把参数命名成request可它实际装的是flow对象不是请求。真正的请求要request.request才能拿到响应要request.response。读代码的人包括你自己过两周会被这个名字误导以为它是个请求对象。所以命名成flow不是语法要求是约定mitmproxy官方文档、几乎所有插件都叫它flow因为它代表「一次完整的请求-响应流程」里面同时装着request和response。名字是给人看的起个准确的名字省得自己坑自己。二、函数名不能随便改。这里要分清楚参数名随便函数名不随便。mitmproxy是靠函数名去找钩子的。它内部大概是这样找的# mitmproxy 内部伪代码响应回来后看你脚本里有没有叫 response 的函数ifhasattr(你的脚本,response):你的脚本.response(flow)# 有就调用把 flow 传进去所以函数名必须是response或request/load这些约定名改成my_response就永远不会被调用脚本等于没生效参数名叫 flow、f、x 都行位置对就能收到对象三、类型注解: http.HTTPFlow能不能去掉能。它对运行没有任何影响Python不会因为注解去做类型检查。写不写都能跑defresponse(flow):# 能跑defresponse(flow:http.HTTPFlow):# 也能跑多了类型提示保留它的好处是编辑器能给你自动补全。写了注解你敲flow.时编辑器就知道它是HTTPFlow会提示.request、.response这些属性少查文档少写错。总结项能不能随便改说明函数名response不能mitmproxy按函数名找钩子改了就不触发参数名 flow能只是变量名但叫 flow 是行业约定别叫 request 免得误导类型注解http.HTTPFlow能去掉只影响编辑器补全不影响运行一句话函数名是给mitmproxy认的不能改参数名和类型注解是给人和编辑器看的可以改但按约定叫flow最省心。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

云计算基础与架构详解:从传统IT痛点到底层核心技术 2026/9/6 6:20:13

云计算基础与架构详解:从传统IT痛点到底层核心技术

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
TI2026瑞士轮Spirit vs Liquid:Dota2强队对局全面技术解析 2026/9/6 6:20:13

TI2026瑞士轮Spirit vs Liquid:Dota2强队对局全面技术解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
12306高并发架构解析:分布式系统与缓存策略应对百万级流量 2026/9/6 6:20:13

12306高并发架构解析:分布式系统与缓存策略应对百万级流量

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
盘锦磨片服务可以开具发票吗,需要哪些材料? 2026/9/6 6:20:13

盘锦磨片服务可以开具发票吗,需要哪些材料?

可以。盘锦购买磨片、切片等五金耗材时,是否能够开具发票,主要取决于实际订单、付款状态、购货主体和所需票据类型。按照小杨螺丝现行采购规则,货款到账后可以按订单开具票据,票据类型、税率、抬头和开票资料需要以实际订单确认结…

阅读更多 →
MP4视频如何转为AI模型输入?解封装、解码、抽帧到张量化的完整链路 2026/9/6 6:20:13

MP4视频如何转为AI模型输入?解封装、解码、抽帧到张量化的完整链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
道观外景拍摄全攻略:从选址踩点到光线构图与素材沉淀 2026/9/6 6:17:12

道观外景拍摄全攻略:从选址踩点到光线构图与素材沉淀

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞