node.js pipe переустанавливает ответ HTTP-клиента

У меня есть этот точный вопрос, за исключением того, что я использую HttpClient для восстановления:

node.js записывает HTTP-ответ в поток

Для ясности я пытаюсь сделать это:

var client = restify.createClient({
    url: "http://www.google.com"
});

client.get("/", function(err,res) {
    res.pipe(process.stdout);
});

Он зависает на несколько секунд, но ничего не пишет в стандартный вывод. Очевидно, я пытаюсь получить что-то другое, кроме домашней страницы Google, но, например...


person Kevin    schedule 10.03.2014    source источник


Ответы (1)


Я бы порекомендовал вам использовать request для чего-то вроде этого:

var request = require('request'); // npm install request
request('http://www.google.com').pipe(process.stdout);

Глядя на документы restify, кажется, что вам нужно дождаться события 'result':

var client = restify.createClient({
    url: "http://www.google.com"
});

client.get("/", function(err,req) {
  req.on('result',function(err2,res) {
    res.pipe(process.stdout);
    res.on('end',function() {
      process.exit(0);
    });
  });
});
person Maroshii    schedule 11.03.2014
comment
можете ли вы указать в документах, где объясняется событие «результат»? Я этого не видел. Но спасибо, это работает. - person Kevin; 11.03.2014