Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Menangkap Respons Pengepala HTTP dalam Sambungan Chrome?

Bagaimana untuk Menangkap Respons Pengepala HTTP dalam Sambungan Chrome?

Patricia Arquette
Lepaskan: 2024-11-06 18:40:02
asal
346 orang telah melayarinya

How to Capture HTTP Header Responses in a Chrome Extension?

Merakam Respons Pengepala HTTP dalam Sambungan Chrome

Latar Belakang

Pelanjutan Chrome menyediakan fungsi untuk mengubah suai tajuk permintaan sebelum menghantarnya. Walau bagaimanapun, mengakses pengepala respons tidak disokong secara langsung oleh API sambungan.

Penyelesaian: Suntikan Skrip DOM

Satu pendekatan untuk menangkap respons HTTP adalah dengan menyuntik skrip ke dalam DOM tapak web untuk memantau aktiviti rangkaian. Teknik ini menggunakan kod berikut:

// 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);
Salin selepas log masuk

Konfigurasi Manifes

Untuk menyuntik skrip, kemas kini manifes.json sambungan seperti berikut:

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

Hasil

Penyelesaian ini membenarkan pelanjutan menangkap dan melog kedua-dua pengepala permintaan dan respons, membolehkan pelanjutan untuk mendapatkan pengepala yang dikehendaki daripada respons.

Atas ialah kandungan terperinci Bagaimana untuk Menangkap Respons Pengepala HTTP dalam Sambungan Chrome?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan