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

Twitter站点油猴脚本使用fetch调用外部API的CSP问题咨询

解决方案

你遇到的是页面CSP对页面上下文发起的外部请求的限制,不需要全局关闭CSP即可绕过,可用方案如下:

1. 优先使用Tampermonkey自带的GM_xmlhttpRequest发起请求

该API是油猴在扩展层面实现的网络请求能力,完全不受页面本身的CSP、CORS规则限制,是这类需求的最优解,适配Firefox运行环境。
使用时首先需要在脚本头部声明权限:
// @grant GM_xmlhttpRequest
请求示例代码:

GM_xmlhttpRequest({
  url: "https://httpbin.org/post",
  method: "POST",
  data: JSON.stringify({}),
  headers: {
    "Content-Type": "application/json"
  },
  onload: function(response) {
    // 处理成功响应
    console.log(response.responseText)
  },
  onerror: function(error) {
    // 处理异常情况
    console.log(error)
  }
})

你之前直接调用的fetch是运行在推特页面上下文,所以必须遵守页面的CSP规则,而GM_xmlhttpRequest运行在油猴扩展的独立上下文,网络请求由扩展代理发起,不会触发CSP限制。

2. 单站点禁用CSP

如果不想修改脚本逻辑,可以使用支持按站点配置CSP规则的Firefox扩展,仅对twitter.com关闭CSP校验,其余站点的CSP安全防护不受影响,比全局关闭security.csp.enable的风险低很多。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 02:54:03