使用node.js HTTP远程客户端请求不返回任何正文

Mar*_*ark 15 node.js

我正在使用node.js下载网页.但是,它没有收到任何数据块:

    console.log('preparing request to ' + url)
    u = require('url').parse(url)
    var remote_client = http.createClient(80, u['host']);
    var request = remote_client.request("GET", u['pathname'], {"host": u['host']});
    console.log("request made")

    request.addListener('response', function (response) {
        response.setEncoding('binary') 
        var body = '';

        response.addListener('data', function (chunk) {
            body += chunk;
            console.log('chunk received')
        });
    });
Run Code Online (Sandbox Code Playgroud)

最后一个控制台消息是"请求发出".没有"收到块"等的控制台消息.思考?

yoj*_*o87 12

这是一个总是对我有用的例子:

var sys = require('sys'),
    http = require('http');

var connection = http.createClient(8080, 'localhost'),
    request = connection.request('/');

connection.addListener('error', function(connectionException){
    sys.log(connectionException);
});

request.addListener('response', function(response){
    var data = '';

    response.addListener('data', function(chunk){ 
        data += chunk; 
    });
    response.addListener('end', function(){
        // Do something with data.
    });
});

request.end();
Run Code Online (Sandbox Code Playgroud)