Chrome 확장 프로그램에서 HTTP 응답 본문을 해독하는 방법
브라우저 개발에서 HTTP 응답 본문에 액세스하는 것은 특히 내에서 작업할 때 문제가 될 수 있습니다. Chrome 확장 프로그램 배경 스크립트. 'chrome.webRequest.onBeforeRequest' 이벤트를 사용하여 HTTP 요청 본문에 액세스할 수 있지만 응답 본문을 검색하려면 더 복잡한 접근 방식이 필요합니다.
참조된 스택 오버플로 스레드 "Chrome HTTP 응답을 읽는 확장 프로그램'에는 'chrome.devtools.network' API를 활용하는 작업이 포함됩니다. 현재 탭에 디버거를 연결하고 디버거 내에서 네트워크를 활성화하면 "Network.responseReceived" 이벤트를 수신할 수 있게 됩니다. 이 이벤트가 트리거되면 'chrome.debugger.sendCommand' 메소드를 사용하여 특정 요청 ID에 대한 응답 본문을 검색할 수 있습니다.
다음은 이 접근 방식을 보여주는 예제 스니펫입니다.
<code class="javascript">var currentTab; var version = "1.0"; chrome.tabs.query( { currentWindow: true, active: true }, function(tabArray) { currentTab = tabArray[0]; chrome.debugger.attach({ tabId: currentTab.id }, version, onAttach.bind(null, currentTab.id)); } ); function onAttach(tabId) { chrome.debugger.sendCommand({ tabId: tabId }, "Network.enable"); chrome.debugger.onEvent.addListener(allEventHandler); } function allEventHandler(debuggeeId, message, params) { if (currentTab.id != debuggeeId.tabId) { return; } if (message == "Network.responseReceived") { chrome.debugger.sendCommand({ tabId: debuggeeId.tabId }, "Network.getResponseBody", { "requestId": params.requestId }, function(response) { // You get the response body here! // You can close the debugger tips by: chrome.debugger.detach(debuggeeId); }); } }</code>
이 방법은 응답 헤더와 응답 본문 자체 모두에 대한 액세스를 제공하므로 상당히 포괄적입니다. 그러나 디버거 세션을 생성하고 이를 현재 탭에 연결하는 과정이 포함되므로 복잡성이나 성능 고려 사항이 추가로 발생할 수 있습니다.
위 내용은 Chrome 확장 프로그램에서 HTTP 응답 본문에 어떻게 액세스할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!