nodeschool의 워크샵에서 노드를 학습 중입니다. 공방의 명칭은 learnyounode, 질문 번호 8입니다. HTTP COLLECT.
질문 : 첫 번째 명령 줄 인수로 에 제공된 URL로 HTTP GET 요청을 수행하는 프로그램을 작성하십시오. 서버에서 모든 데이터를 수집하고 ( 은 첫 번째 "데이터"이벤트가 아님) 콘솔에 두 줄을 입력하십시오. (stdout). 첫 번째 줄은 서버에서받은 문자 수인 을 나타내는 정수 여야합니다. 두 번째 줄에는 서버에서 보낸 완전한 문자열을 포함해야합니다.
내가 제출 한 답변은 다음과 같습니다. 노드 및 http.get의 파이프 기능
var http = require('http');
var url = process.argv[2];
http.get(url,function(res){
var body = '';
res.on('error',function(err){
console.error(err);
})
res.on('data',function(chunk){
body+=chunk.toString();
});
res.on('end',function(){
console.log(body.length);
console.log(body);
});
});
가 제공하는 대답은 동안
,var http = require('http')
var bl = require('bl')
http.get(process.argv[2], function (response) {
response.pipe(bl(function (err, data) {
if (err)
return console.error(err)
data = data.toString()
console.log(data.length)
console.log(data)
}))
})
나는이 두 코드의 차이를 알고 싶습니다. 그리고 http.get() 및 파이프가 작동하는 방식을 설명하십시오.
여기에 질문을 올리십시오. – YakovL