2017-11-14 6 views
0

JavaScript에서 전체 HTTP 텍스트를 어떻게 가져 옵니까? 나는처럼 보이는 일에 대해 이야기하고있다 :JavaScript에서 HTTP 텍스트 가져 오기

HTTP/1.1 200 OK 
Date: Tue, 14 Nov 2017 04:03:27 GMT 
Cache-Control: private, max-age=0 
Content-Type: text/html; charset=ISO-8859-1 
<html> 
    .... 
</html> 

자바 스크립트 등의 헤더, 상태 코드에 대한 좋은 높은 수준의 기능을 제공하지만, 뭔가가 외부 서버로 잘못된 것입니다 그리고 난에 직접 액세스 할 수 있어야합니다 텍스트는 TCP를 통해 전송 된 그대로 전송됩니다.

다음은 관련 코드입니다 :

const xhr = new XMLHttpRequest(); 
xhr.onload = function() { 
    // TODO: get HTTP response text 
}; 
xhr.open('GET', '/'); 
xhr.send(); 

내가 프로그래밍 솔루션을 찾고 있어요; 내 응용 프로그램의 일부로 전체 HTTP 응답 텍스트를 구문 분석해야하므로 "dev 도구를 살펴볼 수 없습니다."

+0

요청 방법에 따라 다릅니다. 충분하지 않음 – charlietfl

+0

요청에 따라 어떻게 달라질 수 있습니까? 나는 일반적인 XMLHttpRequest를 만들고 있는데 응답의 전체 HTTP 텍스트를 원합니다. – Will

+0

OK .. 잘 'XMLHttpRequest' 넘어 다른 방법이 있습니다. 도움이된다면 바로 브라우저의 dev 도구 네트워크에서 검사 할 수 있습니다. 그렇지 않으면 관련 코드 표시 – charlietfl

답변

1

나는 이것이 당신이 찾고있는 정확한 해결책이라고 생각하지 않습니다. 그러나 이것은 당신을 도울 것입니다

fetch("<your-url>") 
.then(function(resp){ 
    resp.headers.forEach(function(v,h){ 
     console.log(h,":",v); 
    }); 
    return resp.text(); 
}) 
.then(function(text){ 
    console.log(text); 
}) 
+0

이것은 아무것도 아닌 것보다 낫지 만 전체 헤더 목록을 가져 오는 방법이 있습니까? 일부 헤더는 resp.headers에서 사용할 수 없습니다. – Will

+0

그래, 쿠키 세트와 같은 일부 헤더가 누락되었습니다. https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name을 참조하십시오. –