본문 바로가기
Nodejs

[Nodejs]http 모듈 활용해 get 요청 보내고 응답 받기

by teamnova 2024. 12. 23.
728x90

오늘은 http 모듈을 활용해 get 요청을 보내고 응답을 받는 예시를 만들어 보겠습니다.

 

http모듈은 http 웹 서버 구축 및 클라이언트 기능을 제공하는 모듈입니다.

 

 

1.프로젝트 생성 및 초기

mkdir 생성할 폴더명
cd 방금 생성한 폴더명
npm init -y

=> 원하는 경로에 폴더를 생성하고 해당 폴더로 이동 후 프로젝트 생성 및 초기화 시켜줍니다.

 

 

 

2.http모듈 활용할 js파일 생성

touch js 파일명

 

 

 

저는 위 이미지와 같이 생성하였습니다.

 

 

 

 

3.http 모듈 활용할 js파일 코드 작성

//http 모듈 import
const http = require('node:http');

// URL 문자열로 GET 요청 보내기
http.get('get 요청할 url주소', (res) => {
    console.log(`상태 코드: ${res.statusCode}`);
    console.log(`헤더: ${JSON.stringify(res.headers)}`);

    res.setEncoding('utf8'); // 응답 데이터를 utf8 문자열로 처리

    let responseData = ''; //응답 내용 받을 변수

    //응답 받을시 응답 내용 변수에 데이터 추가
    //data: 스트림에서 데이터 조각 덩어리(chunk)를 넘겨 받을때마다 발생하는 이벤트
    res.on('data', (chunk) => {
        const type = Object.prototype.toString.call(chunk);
        console.log(`받은 데이터의 타입: ${type}`);
        responseData += chunk;
    });

    //응답 수신 다 끝났을 경우 이벤트 실행
    //end: 스트림에서 더 이상 소비할 데이터가 없을때 발생하는 이벤트
    //     즉, 스트림에서 더 이상 받을 데이터가 없는 수신 완료시 발생하는 이벤트
    res.on('end', () => {
        console.log(`응답 본문: ${responseData}`);
    });

    //데이터를 쓰는(write) 도중 오류 발생시 호출되는 이벤트
    // 즉 요청 중 에러 발생시 호출되는 메서드
}).on('error', (e) => {
    console.error(`요청 에러: ${e.message}`);
});

=> 저는 jsonplaceholder 사이트의 url(http://jsonplaceholder.typicode.com/posts/1)을 활용하였습니다.



 

 

실행 결과

 

get 요청 및 응답이 성공적으로 수행되었음을 확인할 수 있습니다.