技术分享
🗒️如何使用Chrome插件中进行自定义请求头修改?
00 min
2023-11-13
2023-11-20
type
status
date
slug
summary
tags
category
icon
password
😀
业务某场景进行接口的特殊处理,需要拦截并自定义请求头提交指定的header到后端。
当前的「chrome extension」是基于 mv3 版本构建的,所以采用的方案与mv2版本不相同。

📝 如何实现

👉 进行拦截

🧑‍💻
chrome mv3 版本削弱了 webRequest 功能,以下功能使用 「chrome.declarativeNetRequest.updateDynamicRules」实现。

👉 取消拦截

🧑‍💻
调用 updateDynamicRules 并传参 removeRuleIds 包含指定的 ID 即可。

🤗 发现问题

在实现过程中,遇到卡点问题,当我没补充 resourceTypes 字段的时候,控制条异常告警。 Uncaught (in promise) Error: Rule with id xxx specifies an invalid request header to be appended. Only standard HTTP request headers that can specify multiple values for a single entry are supported.
以上问题在补充对应字段即可。

📎 参考文章