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();
'웹 (WEB) > Node JS' 카테고리의 다른 글
node.js middleware 사용 (0) | 2017.12.01 |
---|---|
익스프레스 (Express) 웹 서버 만들기 (0) | 2017.12.01 |
node.js 클라이언트가 요청할 때 발생하는 이벤트 (event) 서버에서 처리 (0) | 2017.12.01 |
node.js 웹 서버 객체 생성 (0) | 2017.12.01 |
노드 (node js) 이벤트 (event) 이해하기 (0) | 2017.11.30 |