Skip to Content
BlogComment modifier les en-têtes de requête personnalisés dans une extension Chrome ?

Comment modifier les en-têtes de requête personnalisés dans une extension Chrome ?

L’extension Chrome actuelle repose sur Manifest V3, donc l’approche diffère de Manifest V2.

📝 Comment l’implémenter

👉 Intercepter les requêtes

const RULE_ID = 10000; ... chrome.declarativeNetRequest.updateDynamicRules({ removeRuleIds: [ RULE_ID ], addRules: [ { id: RULE_ID, priority: 1, action: { type: chrome.declarativeNetRequest.RuleActionType.MODIFY_HEADERS, requestHeaders: [ { header: "CUSTOM-HEADER", operation: chrome.declarativeNetRequest.HeaderOperation.SET, value: "CUSTOME-VALUE" } ] }, condition: { requestDomains: urls, resourceTypes: [ // List all resource types chrome.declarativeNetRequest.ResourceType.MAIN_FRAME, chrome.declarativeNetRequest.ResourceType.SUB_FRAME, chrome.declarativeNetRequest.ResourceType.STYLESHEET, chrome.declarativeNetRequest.ResourceType.SCRIPT, chrome.declarativeNetRequest.ResourceType.IMAGE, chrome.declarativeNetRequest.ResourceType.FONT, chrome.declarativeNetRequest.ResourceType.OBJECT, chrome.declarativeNetRequest.ResourceType.XMLHTTPREQUEST, chrome.declarativeNetRequest.ResourceType.PING, chrome.declarativeNetRequest.ResourceType.CSP_REPORT, chrome.declarativeNetRequest.ResourceType.MEDIA, chrome.declarativeNetRequest.ResourceType.WEBSOCKET, chrome.declarativeNetRequest.ResourceType.OTHER ] } } ] }) ...

👉 Annuler l’interception

chrome.declarativeNetRequest.updateDynamicRules({ removeRuleIds: [ RULE_ID ], addRules: [] })

🤗 Problèmes rencontrés

Le problème ci-dessus se résout en ajoutant le champ correspondant.

📎 Références

chrome.declarativeNetRequest - Chrome for Developers 

Dernière mise à jour