You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查看Tampermonkey中GM_xmlhttpRequest的XHR请求日志

GM_xmlhttpRequest请求日志查看与排查方法

GM_xmlhttpRequest的请求由Tampermonkey扩展沙箱上下文发起,不属于当前页面的上下文流量,因此默认不会展示在页面自带的开发者工具控制台、网络面板中,可通过以下方式获取完整请求日志:

方法1:脚本内埋点打印全链路日志

无需调整浏览器配置,直接在GM_xmlhttpRequest的全生命周期回调中添加日志打印逻辑,即可捕获每一次请求的完整状态,参考代码:

GM_xmlhttpRequest({
  method: "请求方法,如GET/POST",
  url: "目标HTTP接口地址",
  // 保留原有请求配置,比如headers、data、timeout等
  onloadstart: function() {
    console.log("[GMXHR 发起请求]", {
      url: this.url,
      method: this.method,
      requestHeaders: this.headers,
      requestData: this.data,
      timestamp: new Date().toISOString()
    });
  },
  onload: function(response) {
    console.log("[GMXHR 请求成功]", {
      status: response.status,
      statusText: response.statusText,
      responseHeaders: response.responseHeaders,
      responseBody: response.response,
      timestamp: new Date().toISOString()
    });
  },
  onerror: function(error) {
    console.error("[GMXHR 请求失败]", {
      error: error,
      url: this.url,
      timestamp: new Date().toISOString()
    });
  },
  ontimeout: function() {
    console.error("[GMXHR 请求超时]", {
      url: this.url,
      timeoutThreshold: this.timeout,
      timestamp: new Date().toISOString()
    });
  },
  onabort: function() {
    console.warn("[GMXHR 请求被中断]", {
      url: this.url,
      timestamp: new Date().toISOString()
    });
  }
});

如果上述日志在当前页面控制台看不到,点击控制台顶部的上下文下拉菜单(默认显示top),选择带有Tampermonkey标识的对应脚本上下文,即可看到输出内容。

方法2:查看扩展层原生网络日志(无需修改脚本)

该方法可以获取和普通页面XHR完全一致的原生请求记录,包括被浏览器策略拦截的请求详情,数据最准确:

  • 打开浏览器扩展管理页:Chrome/Edge系列在地址栏输入chrome://extensions/,Firefox在地址栏输入about:addons
  • 找到Tampermonkey扩展,进入详情页:Chrome/Edge点击扩展卡片的「详情」按钮,Firefox点击扩展条目旁的「调试」按钮
  • 找到「检查视图」板块,点击其中的背景页/Service Worker入口,会弹出独立的开发者工具窗口
  • 该窗口的「网络」面板会记录所有GM_xmlhttpRequest发起的完整请求,包含请求头、响应体、状态码、耗时、错误原因;「控制台」面板会输出扩展运行的所有底层日志
  • 可额外开启Tampermonkey自带调试日志增强输出:打开Tampermonkey设置页,将顶部的配置模式从「新手」切换为「高级」,勾选「通用」分类下的「调试模式」选项,所有GM接口的运行细节日志会直接输出到对应上下文的控制台。

HTTPS调用HTTP场景的补充排查提示

偶发成功/失败的情况,优先排查浏览器混合内容拦截、HTTPS升级策略影响:如果浏览器开启了HTTPS-Only模式、HTTPS优先模式,可能偶发将HTTP请求强制升级为HTTPS导致连接失败,这类拦截记录只会出现在上述扩展层开发者工具的网络/控制台面板中,页面上下文无法捕获。

内容的提问来源于stack exchange,提问作者capoaira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 23:54:18