mitmproxy脚本修改请求Cookie无效问题求助
核心原因
浏览器开发者工具显示的是发送给mitmproxy的原始请求,你通过脚本修改的是mitmproxy转发给目标服务器的请求,因此浏览器端看不到修改后的Cookie是正常现象。需通过mitmproxy的flow详情或目标服务器日志确认修改是否生效。
修正后的脚本写法
直接操作flow.request.cookies对象比修改headers更可靠,mitmproxy会自动处理Cookie格式和请求头大小写问题:
from mitmproxy import http def request(flow: http.HTTPFlow) -> None: # 清空原有所有Cookie(可选,按需决定) flow.request.cookies.clear() # 添加自定义Cookie flow.request.cookies["mycookie"] = "your_value"
如果坚持直接修改请求头,注意使用标准的Cookie键名(首字母大写),避免大小写匹配问题:
from mitmproxy import http def request(flow: http.HTTPFlow) -> None: flow.request.headers["Cookie"] = "mycookie=your_value"
验证修改是否生效
- 在mitmproxy界面选中对应请求,查看
Request标签下的Headers部分,确认Cookie已被修改; - 查看目标服务器的访问日志,检查是否接收到修改后的Cookie值。
内容的提问来源于stack exchange,提问作者devcatkit
相关产品推荐
相关产品推荐

