跳到主要内容

监听器

订阅网络拦截流、管理活跃监听器和取消订阅。

otto listener subscribe-network

在受管理标签页上订阅网络拦截监听器,流式传输捕获的 HTTP 响应。

用法

otto listener subscribe-network [options]

标志

标志简写必填类型默认值允许值描述
--tab-sessionstring要附加监听器的标签页会话 ID
--site-sstring站点范围(如 reddit.com) — 根据标签页 URL 验证
--patternstring[]要捕获的 URL glob 模式(可重复)
--request-hoststring[]显式跨主机允许列表(可重复)
--modestringnetworknetworkfetchhybrid拦截捕获模式
--include-bodybooleantrue在更新中包含响应正文
--include-headersbooleanfalse包含响应头部(敏感头部脱敏)
--max-body-bytesnumber256000要捕获的最大响应正文字节数
--mime-typesstring[]MIME 前缀允许列表(可重复)
--node-idstring自动选择目标节点 ID
--jsonbooleanfalse以 NDJSON 格式输出流更新

示例

# Reddit API 流量的基础网络订阅
otto listener subscribe-network \
--tab-session <tabSessionId> \
--site reddit.com \
--pattern 'https://www.reddit.com/api/*'

# 带正文限制的高容量捕获
otto listener subscribe-network \
--tab-session <tabSessionId> \
--site reddit.com \
--request-host matrix.redditspace.com \
--pattern 'https://matrix.redditspace.com/_matrix/client/v3/*' \
--mode network \
--max-body-bytes 200000

# 带头部和 JSON 输出的混合捕获
otto listener subscribe-network \
--tab-session <tabSessionId> \
--site reddit.com \
--mode hybrid \
--include-headers \
--json

流输出

每个捕获的响应作为 listener_update 帧发出。流持续运行直到:

  • 使用订阅 requestId 调用 otto listener unsubscribe
  • 标签页会话关闭
  • 按下 Ctrl+C(自动发送取消订阅)

订阅 requestId 在启动时打印 — 保存它以便稍后从另一个终端取消订阅。

退出码

含义
0已订阅并正在流式传输
1订阅失败(无效标签页会话、站点不匹配等)

otto listener unsubscribe

按其订阅 requestId 取消订阅活跃的网络监听器。

用法

otto listener unsubscribe [options]

标志

标志简写必填类型默认值描述
--target-request-idstringsubscribe-network 返回的 requestId
--node-idstring自动选择目标节点 ID

示例

otto listener unsubscribe --target-request-id <subscribeRequestId>

退出码

含义
0已成功取消订阅
1监听器未找到或中继错误

otto listener list

列出连接节点上的活跃网络监听器。

用法

otto listener list [options]

标志

标志简写必填类型默认值描述
--node-idstring自动选择目标节点 ID
--jsonbooleanfalse以 JSON 格式输出

示例

otto listener list

otto listener list --json

退出码

含义
0监听器已列出
1中继或节点错误

相关命令