>  기사  >  웹 프론트엔드  >  Chrome 확장 프로그램에서 HTTP 응답 본문에 어떻게 액세스하나요?

Chrome 확장 프로그램에서 HTTP 응답 본문에 어떻게 액세스하나요?

Barbara Streisand
Barbara Streisand원래의
2024-10-24 17:35:48578검색

How to Access the HTTP Response Body in Chrome Extensions?

Chrome 확장 프로그램에서 HTTP 응답 본문을 검색하는 방법

Chrome 확장 프로그램 내에서 HTTP 응답 본문을 가져오는 것이 어려울 수 있습니다. Chrome과 같은 브라우저에는 보안 문제로 인해 확장 프로그램이 응답 본문을 직접 읽지 못하도록 하는 엄격한 정책이 있습니다. 그러나 이 데이터에 액세스하기 위해 사용할 수 있는 간접적인 방법이 있습니다.

Chrome의 디버깅 프로토콜 사용

한 가지 접근 방식은 Chrome의 디버깅 프로토콜을 활용하는 것입니다. 이 프로토콜을 사용하면 확장 프로그램을 활성 탭에 연결하고 네트워크 활동을 모니터링할 수 있습니다. "Network" 도메인을 활성화하고 "Network.responseReceived" 이벤트를 수신함으로써 확장 프로그램은 응답 헤더를 검사하고 별도의 명령을 트리거하여 응답 본문을 검색할 수 있습니다.

var debuggeeId = null;

chrome.tabs.query({currentWindow: true, active: true}, function(tabArray) {});
chrome.debugger.attach({tabId: currentTab.id}, "1.0", onAttach);

function onAttach(tabId, response) {
    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) {
                // Response body is now accessible in "response.body"
                chrome.debugger.detach(debuggeeId);
            });
    }
}

이 방법은 다음을 수행하는 강력한 방법을 제공합니다. 응답 본문을 가져오지만 성능과 사용자 경험에 영향을 미칠 수 있는 디버거 인터페이스를 활성화해야 합니다.

제한 사항 및 모범 사례

특정 유형에 유의하는 것이 중요합니다. HTTP 요청 중 "Network.responseReceived" 이벤트가 트리거되지 않을 수 있습니다. 이러한 경우 콘텐츠 스크립트를 사용하거나 요청을 전송하기 전에 수정하는 등의 대체 솔루션을 모색할 수 있습니다.

응답 본문에서 민감한 데이터로 작업할 때 무단 액세스로부터 데이터를 보호하기 위해 암호화 또는 기타 보안 조치를 사용하는 것을 고려하세요. . 민감한 정보가 포함된 응답 본문은 절대로 기록하지 마십시오. 이러한 로그는 잠재적으로 손상될 수 있습니다.

위 내용은 Chrome 확장 프로그램에서 HTTP 응답 본문에 어떻게 액세스하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.