Ответ 1
Поместите это в файл и запустите его. Возможно, вам придется приспособиться к локальному Google, если вы увидите 301 ответ на переадресацию из Google (который, как я полагаю, отправлен как один кусок).
var http = require('http');
var req = http.get("http://www.google.co.za/", function(res) {
res.setEncoding();
res.on('data', function(chunk) {
console.log(chunk.length);
res.destroy(); //After one run, uncomment this.
});
});
Чтобы увидеть, что res.destroy()
действительно работает, раскомментирует его, и объект ответа будет продолжать излучать события до тех пор, пока он не закроется (в этот момент node выйдет из этого script).
Я также экспериментировал с res.emit('end');
вместо destroy()
, но во время одного из моих тестовых прогонов он по-прежнему запускал несколько дополнительных обратных вызовов. destroy()
кажется более неминуемым "концом".
Документы для метода destroy: http://nodejs.org/api/stream.html#stream_stream_destroy
Но вы должны начать читать здесь: http://nodejs.org/api/http.html#http_http_clientresponse (в котором говорится, что объект ответа реализует интерфейс считываемого потока.)