bestsource

노드를 사용하여 요청에서 요청 http 헤더를 추출하는 방법JS 연결

bestsource 2023. 6. 3. 08:35
반응형

노드를 사용하여 요청에서 요청 http 헤더를 추출하는 방법JS 연결

NodeJS의 connect 라이브러리 번들을 사용하여 요청한 "Host" 헤더를 받고 싶습니다.내 코드는 다음과 같습니다.

var app = connect()
  .use(connect.logger('dev'))
  .use(connect.static('public'))
  .use(function(req, res){

    var host = req.???

  })
 .listen(3000);

연결에 대한 설명서는 여기에 있지만 API를 자세히 설명하는 것은 보이지 않습니다.req위 코드의 개체입니다.http://www.senchalabs.org/connect/

편집: 성공적인 답변은 문서를 가리켜야 합니다(내가 찾고 있는 API가 제공된 버전을 확인하려면 이 정보가 필요합니다).

Express 4.x를 사용하는 경우req.get(headerName)Express 4.x API Reference에 설명된 방법

HTTP 요청 헤더 목록을 보려면 다음을 사용할 수 있습니다.

console.log(JSON.stringify(req.headers));

목록을 JSON 형식으로 반환합니다.

{
"host":"localhost:8081",
"connection":"keep-alive",
"cache-control":"max-age=0",
"accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
"upgrade-insecure-requests":"1",
"user-agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36",
"accept-encoding":"gzip, deflate, sdch",
"accept-language":"en-US,en;q=0.8,et;q=0.6"
}

의 출력 확인console.log(req)또는console.log(req.headers);

var host = req.headers['host']; 

머리글은 머리글 문자열을 개체 키로 사용하여 JavaScript 개체에 저장됩니다.

마찬가지로, 사용자 에이전트 헤더는 다음을 통해 얻을 수 있습니다.

var userAgent = req.headers['user-agent']; 
logger.info({headers:req.headers})

출력;

 "headers":{"authorization":"Basic bmluYWQ6bmluYWQ=","content-
type":"application/json","user-
agent":"PostmanRuntime/7.26.8","accept":"*/*","postman-token":"36e0d84a-
55be-4661-bb1e-1f04d9499574","host":"localhost:9012","accept-
encoding":"gzip, deflate, br","connection":"keep-alive","content-
length":"198"}

우리는 속달로 요청을 사용할 수 있습니다.headers['header-name'], 예를 들어 권한 부여 헤더에 베어러 토큰을 설정한 경우 토큰을 검색하려면 req.headers['authorization'을 입력해야 하며 'Bearer tokenString'이 포함된 문자열이 표시됩니다.

언급URL : https://stackoverflow.com/questions/13147693/how-to-extract-request-http-headers-from-a-request-using-nodejs-connect

반응형