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);
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/*"] }]
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!