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 요청 및 응답이 성공적으로 수행되었음을 확인할 수 있습니다.
'Nodejs' 카테고리의 다른 글
[Nodejs]http 모듈 활용해 post 요청 보내고 응답 받기 (4) | 2024.12.29 |
---|---|
[Nodejs]http 모듈 활용해 서버 만들기 (4) | 2024.12.17 |
[Nodejs]비동기, 콜백 방식으로 파일 생성 및 쓰기 예시 만들기 (0) | 2024.12.11 |
[Nodejs] async await를 사용해 파일 생성 및 쓰기 예시 만들기 (2) | 2024.12.05 |
[Nodejs]동기 방식으로 파일 생성 및 쓰기 예시 만들기 (0) | 2024.11.29 |