node.js (노드) get, post 요청 구현



http 모듈을 사용해 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);
});

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

});



[결과화면]



http 객체 get() 메소드를 사용하면 다른 사이트에 요청을 보내고

응답을 받아 처리할 수 있습니다.


get()  메소드의 첫번째 파라미터는 다른 사이트의 정보를 담고있는 객체입니다. 그리고 두번째 parameter는 callback 함수 입니다.


응답 데이터를 받을떄는 data이벤트와 end 이벤트로 처리하면됩니다.


모두 resData 변수에 담아 두었고 event가 끝나는 시점에 console 창에 출력하게 됩니다.






post 방식

아래는 post방식입니다.



var http = require('http');

var opts = {
host: 'www.google.com',
port: 80,
method: 'POST',
path: '/',
header: {}
};


var resData = '';

var req = http.request(opts, function(res){
//응답처리
res.on('data', function(chunk){
resData += chunk;
});


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

opts.headers['Content-Type'] = 'application/x-www-form-urlencoded';
req.data = 'q=actor';
opts.headers['Content-Length'] = req.data.length;

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

//요청전송
req.write(req.data);
req.end();


+ Recent posts