Chrome 확장 프로그램에서 HTTP 응답 본문을 검색하는 방법
Chrome 확장 프로그램 백그라운드 스크립트 내에서 HTTP 응답 본문을 검색하는 것은 어려운 일입니다. 확장 프로그램은 chrome.webRequest.onBeforeRequest를 사용하여 요청 본문에 액세스할 수 있지만 일반적으로 응답 본문을 가져오는 것은 불가능합니다.
이 제한을 극복하려면 chrome.debugger API를 활용하는 창의적인 접근 방식이 필요합니다. 이 API를 사용하면 확장 프로그램이 브라우저의 네트워크 활동을 디버깅하고 상호 작용할 수 있습니다. 자세한 구현은 다음과 같습니다.
// 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 ...
});
}
});
이 방법을 사용하면 추가 브라우저 페이지나 타사 서비스 없이도 HTTP 응답 본문을 검색할 수 있습니다. 완료되면 chrome.debugger.detach를 사용하여 디버깅 세션을 닫을 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3