Chrome 扩展开发-请问如何跨域XMLHttpRequest中修改Referer

发布于 2022-08-25 01:42:33 字数 89 浏览 9 评论 0

RT,正常情况是无法修改,但是插件应该总行了吧?但是测试好像还是无法修改Referer。请问如何可以在插件中修改到XMLhttpRequest。注意噢,是在插件中

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

土豪 2022-09-01 01:42:33
chrome.webRequest.onBeforeSendHeaders.addListener

https://developer.chrome.com/extensions/webRequest.html
希望对你有帮助:-)


还有哥们你标题和标签里的chrome都拼错了。

有深☉意 2022-09-01 01:42:33

可能通过这种方式来添加或者更新 Referer

chrome.webRequest.onBeforeSendHeaders.addListener(
    function(details) {
        if (details.type === 'xmlhttprequest') {
            var exists = false;
            for (var i = 0; i < details.requestHeaders.length; ++i) {
                if (details.requestHeaders[i].name === 'Referer') {
                    exists = true;
                    details.requestHeaders[i].value = 'http://www.baidu.com';
                    break;
                }
            }

            if (!exists) {
             details.requestHeaders.push({ name: 'Referer', value: 'http://www.baidu.com'});
            }

            return { requestHeaders: details.requestHeaders };
        }
    },
    {urls: ['http://www.geekpark.net/ajax/*']},
    ["blocking", "requestHeaders"]
);

具体可以参考: https://developer.chrome.com/extensions/webRequest.html#event-onBeforeSendHeaders

我做了个 demo,你可以自己点击 background 页面的开发人员工具看看请求的 HEADERS
https://gist.github.com/greatghoul/5420697

需要注意的是,要在 manifest.json 中加入相关的权限:

"permissions": [
    "webRequest", "webRequestBlocking", "http://www.geekpark.net/ajax/"
  ]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文