首頁 >web前端 >js教程 >如何在 Chrome 擴充功能中擷取 HTTP 標頭回應?

如何在 Chrome 擴充功能中擷取 HTTP 標頭回應?

Patricia Arquette
Patricia Arquette原創
2024-11-06 18:40:02318瀏覽

How to Capture HTTP Header Responses in a Chrome Extension?

在Chrome 擴充程式中捕捉HTTP 標頭響應

後台

後台

後台

// Background script: inject.js
var s = document.createElement('script');
s.src = chrome.runtime.getURL('injected.js');
s.onload = function() {
    this.remove();
};
(document.head || document.documentElement).appendChild(s);

// Content script: injected.js
(function(xhr) {

    // Override XMLHttpRequest methods
    var XHR = XMLHttpRequest.prototype;

    ['open', 'setRequestHeader', 'send'].forEach(function(method) {
        var originalMethod = XHR[method];

        XHR[method] = function() {
            // Intercept events and capture request and response headers
            ...
        };
    });

})(XMLHttpRequest);

後台

後台

"content_scripts": [{
    "matches": ["*://website.com/*"],
    "run_at": "document_start",
    "js": ["contentscript.js", "inject.js"]
}],
"web_accessible_resources": [{
    "resources": ["injected.js"],
    "matches": ["*://website.com/*"]
}]

擴充提供此功能在發送請求頭之前修改請求頭。但是,擴充 API 不直接支援存取回應標頭。

解決方案:DOM 腳本注入

捕獲 HTTP 回應的一種方法是將腳本注入到網站的 DOM 來監控網路活動。此技術使用以下程式碼:清單配置要注入腳本,請如下更新擴充的manifest.json: 結果此解決方案允許擴展捕獲和記錄請求和回應標頭,使擴展能夠從回應中檢索所需的標頭。

以上是如何在 Chrome 擴充功能中擷取 HTTP 標頭回應?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn