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

Chrome Manifest V3扩展:HTTPS可修改请求头,HTTP下失效求助

问题解决:Chrome扩展HTTP请求无法修改请求头的原因与修复方案

核心问题分析

你的扩展仅能修改HTTPS请求头,HTTP请求无效,主要有两个关键原因:

  1. HTTP主机权限未配置:manifest.json的host_permissions仅包含https://*/*,扩展没有权限拦截和修改HTTP请求。
  2. 规则ID冲突:静态规则(rules.json)和动态规则(background.js)的ID都为1,导致动态规则无法正常生效或被覆盖。

修复步骤

1. 补充HTTP主机权限

修改manifest.json中的host_permissions,添加HTTP的权限:

"host_permissions": [
    "https://*/*",
    "http://*/*"
],

2. 修正规则ID冲突

将background.js中的动态规则ID改为不重复的值(比如2),避免与静态规则ID(1)冲突:

chrome.declarativeNetRequest.updateDynamicRules({
    addRules: [
        {
            id: 2, // 修改为唯一ID
            priority: 1,
            action: {
                type: 'modifyHeaders',
                requestHeaders: [
                    {
                        header: "Accept-language",
                        operation: 'set',
                        value: "hu"
                    },
                ],
            },
            condition: {
                urlFilter: '|http*',
                resourceTypes: [
                    'main_frame',
                    'sub_frame',
                    'script'
                ],
            },
        },
    ],
    removeRuleIds: [2] // 对应修改移除的规则ID
}, async (result) => {
    console.log('created', result);
});

3. 验证修复效果

  • 重新加载扩展(Chrome扩展管理页面点击"重新加载")
  • 访问你的HTTP测试页面http://mytestes.com,检查请求头是否包含自定义的accept-language: hu和Proxy-switching-extension: true

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 09:15:34