Comment récupérer le corps de réponse HTTP dans les extensions Chrome
La récupération du corps de réponse HTTP dans un script d'arrière-plan d'extension Chrome présente un défi. Bien que l'extension puisse accéder au corps de la requête à l'aide de chrome.webRequest.onBeforeRequest, il n'est généralement pas possible d'obtenir le corps de la réponse.
Pour surmonter cette limitation, une approche créative consiste à exploiter l'API chrome.debugger. Cette API permet aux extensions de déboguer et d'interagir avec l'activité réseau du navigateur. Voici une implémentation détaillée :
// 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 ...
});
}
});
Cette méthode vous permet de récupérer le corps de la réponse HTTP sans avoir besoin de pages de navigateur supplémentaires ou de services tiers. Notez que vous pouvez fermer la session de débogage à l'aide de chrome.debugger.detach lorsque vous avez terminé.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3