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

Tampermonkey的GM_xmlhttpRequest自动转HTTPS,如何强制用HTTP?

解决Tampermonkey强制将HTTP请求转为HTTPS的问题

核心原因

Tampermonkey默认开启了HTTPS自动升级特性,会自动把脚本中指定的HTTP请求转换为HTTPS,导致你的请求被发送到错误的协议地址。

解决步骤

  • 修正@connect元指令
    把带协议的@connect改为只包含主机和端口的形式:

    // @connect 123.456.789.012:8000
    

    带协议的@connect可能会被Tampermonkey的升级逻辑干扰,去掉协议后可以确保脚本获得对该主机的完整连接权限。

  • 添加禁用HTTPS升级的元指令
    在脚本的元数据块(==UserScript==与==/UserScript==之间)新增一行:

    // @upgrade-insecure-requests false
    

    这个指令会强制关闭当前脚本的HTTPS自动升级功能,让GM_xmlhttpRequest严格按照你指定的http://协议发送请求。

  • 保留原请求代码
    你的请求逻辑无需修改,继续明确指定HTTP协议的URL即可:

    GM_xmlhttpRequest({
        method: "GET",
        url: "http://123.456.789.012:8000",
        headers: {
            "Content-Type": "application/json"
        },
        responseType: "json",
        onload: function(response) {
            console.log("Got response:", response);
        },
        onerror: function(a) {
            console.log("error", a);
        }
    });
    

验证

修改后重新加载脚本,请求会严格使用HTTP协议发送到目标地址,不再被自动转为HTTPS,即可解决服务器返回的Bad request version错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 10:45:16