Chrome 확장 프로그램에서 HTTP 응답 본문을 캡처하는 방법
소개:
Chrome 확장 프로그램에서 , HTTP 요청에 대한 정보를 얻는 것은 네트워크 트래픽 분석이나 응답 수정과 같은 많은 작업에 필수적입니다. 요청 본문에 액세스하는 것은 간단하지만 응답 본문을 검색하는 것은 더 큰 문제를 야기합니다.
HTTP 응답 본문 가져오기:
처음에는 Chrome 확장 프로그램에서 직접 응답 본문에 액세스하는 것이 거의 불가능했습니다. 불가능한. 그러나 이제 해결책은 Chrome DevTools 프로토콜의 Network.getResponseBody API를 활용하는 것입니다.
Network.getResponseBody API 사용:
Network.getResponseBody API를 사용하여 응답 본문을 캡처하려면 다음 단계를 따르세요.
코드 예:
<code class="javascript">chrome.tabs.query( { currentWindow: true, active: true }, function (tabArray) { let currentTab = tabArray[0]; chrome.debugger.attach( { tabId: currentTab.id }, "1.0", 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) { // Access the response body in 'response.body' // Close the debugger (optional) chrome.debugger.detach(debuggeeId); } ); } }</code>
참고:
이 API를 포함한 디버거 기능은 백그라운드 스크립트에서만 사용할 수 있습니다. 페이지 컨텍스트 내에서 실행되는 콘텐츠 스크립트에서는 이 기술을 사용할 수 없습니다.
위 내용은 Chrome 확장 프로그램 내에서 HTTP 응답 본문을 어떻게 캡처합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!