Do it Node.js 프로그래밍 서버에서 다른 웹사이트의 데이터를 가져와 응답하기

2018. 3. 7. 17:38javascript/node.js

다른 웹사이트의 데이터를 가져오기



저번에는 html코드로 응답을 해왔습니다. 따라서 이번에는 다른 웹사이트에 요청을 해서 그 웹사이트의 데이터를 가져와 보겠다.
http로 서버도 만들 수 있지만 클라이언트의 역활도 할 수 있습니다. 즉 http가 get, post를 통해 데이터를 요청을 할 수 있다는 말입니다.



get방식을 통해 데이터를 요청해보겠습니다.

var http = require('http')

var options = {
    host:'www.google.com',
    port:'80',
    path:'/'
};

var req = http.get(options,function (res) {
    var resData = ''
    res.on('data',function (chunk) {
       resData += chunk;
    });

    res.on('end',function () {
        console.log(resData)
    });
});

req.on('error',function (err) {
    console.log("오류 발생" +err.message)
})


http 객체에 get메소드를 사용하면 다른 사이트에 요청을 보내고 응답을 받아서 처리할 수 있습니다. get메소드의 첫번째 인자는 다른사이트의 정보를 담고 있는 객체입니다. 그리고 두번째 객체는 콜백함수입니다.



위의 사진과 같이 결과를 얻을 수 있다. 코드를 설명하면 http.get을 통해 구글에 요청을 보냅니다. 요청에 응답받아서 데이터를 받아오면 data라는 이벤트가 발생합니다. 그리고 데이터를 모두 받아오면 end라는 이벤트가 발생하여 http.get이 끝나게 됩니다.