Cara Mendapatkan Kembali Badan Respons HTTP dalam Sambungan Chrome
Mendapatkan semula badan respons HTTP dalam skrip latar belakang sambungan Chrome memberikan cabaran. Walaupun sambungan boleh mengakses badan permintaan menggunakan chrome.webRequest.onBeforeRequest, mendapatkan badan respons biasanya tidak mungkin.
Untuk mengatasi pengehadan ini, pendekatan kreatif melibatkan memanfaatkan API chrome.debugger. API ini membenarkan sambungan untuk nyahpepijat dan berinteraksi dengan aktiviti rangkaian penyemak imbas. Berikut ialah pelaksanaan terperinci:
<code class="javascript">// Attach to the current tab and enable network debugging. chrome.tabs.query({ currentWindow: true, active: true }, tabs => { chrome.debugger.attach({ tabId: tabs[0].id }, '1.0', debuggeeId => { chrome.debugger.sendCommand({ tabId: debuggeeId.tabId }, 'Network.enable'); }); }); // Listen for response received events. chrome.debugger.onEvent.addListener((debuggeeId, message, params) => { if (debuggeeId.tabId !== currentTab.id) return; if (message === 'Network.responseReceived') { // Get the response body by sending a command. chrome.debugger.sendCommand({ tabId: debuggeeId.tabId }, 'Network.getResponseBody', { requestId: params.requestId }, response => { // The response body is now available. // ... Process the response body ... }); } });</code>
Kaedah ini membolehkan anda mendapatkan semula badan respons HTTP tanpa memerlukan halaman penyemak imbas tambahan atau perkhidmatan pihak ketiga. Harap maklum bahawa anda boleh menutup sesi penyahpepijatan menggunakan chrome.debugger.detach apabila anda selesai.
Atas ialah kandungan terperinci Cara Mendapatkan Kembali Badan Respons HTTP dalam Sambungan Chrome: Adakah Mungkin?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!