Como recuperar o corpo da resposta HTTP em extensões do Chrome
Recuperar o corpo da resposta HTTP dentro de um script de plano de fundo de extensão do Chrome apresenta um desafio. Embora a extensão possa acessar o corpo da solicitação usando chrome.webRequest.onBeforeRequest, normalmente não é possível obter o corpo da resposta.
Para superar essa limitação, uma abordagem criativa envolve aproveitar a API chrome.debugger. Esta API permite que extensões depurem e interajam com a atividade de rede do navegador. Aqui está uma implementação detalhada:
// 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 ...
});
}
});
Este método permite recuperar o corpo da resposta HTTP sem a necessidade de páginas adicionais do navegador ou serviços de terceiros. Observe que você pode fechar a sessão de depuração usando chrome.debugger.detach quando terminar.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3