python - 使用 mitmproxy 内联脚本记录所有 http 请求

标签 python mitmproxy

我正在尝试使用 mitmproxy 记录每个 http 站点,但我的内联脚本给出了这个错误 TypeError: request() missing 1 required positional argument: 'flow' 这是预览我的代码。我的代理设置正确,httplogs.txt 文件与内联脚本位于同一目录中,但我不明白此函数有什么问题。

import sys

def request(context,flow):
    f = open('httplogs.txt', 'a+')
    f.write(flow.request.url + '\n')
    f.close()

最佳答案

假设您使用的是更新版(2017 年 1 月)

tl;dr

从方法签名中删除上下文


7 个月前,mitmproxy 从response 方法中删除了context:

https://github.com/mitmproxy/mitmproxy/commit/c048ae1d5b652ad4778917e624ace217e1ecfd91 Da commit

更新后的示例脚本在这里:

https://github.com/mitmproxy/mitmproxy/blob/1.0.x/examples/simple/add_header.py

def response(flow):
    flow.response.headers["newheader"] = "foo"

关于python - 使用 mitmproxy 内联脚本记录所有 http 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41798971/

相关文章:

python - Pandas 数据框获取掩码列零(0)之间的所有行,并获取每组的第一行和最后一行

ssl - 向 mitmproxy 添加其他受信任的根 CA 证书

java - 如何实现这样的流量

Python Sqlite3 - 使用 f 字符串更新数据库功能

python - `.create()` 方法默认不支持可写嵌套字段。

android - 如何使用 OWASP ZAP 对 Android 进行 MiTM 攻击?

python - Mitmproxy使用python加载和卸载脚本

security - 信任 mitmproxy 中的个人无效证书

python - 需要有关使用 gui 创建桌面应用程序的帮助/指导

Python正则表达式将段落分割成句子,每个句子以名称开头