2013-10-31 127 views
0

我想如下的Node.js:HTTP GET請求

var https = require('https'); 
var options = { 
    hostname: 'https://172.16.2.51', 
    port: 9090, 
    path: '/vm/list', 
    method: 'GET',     
}; 

var req = https.request(options, function(res) { 
    res.on('data', function(d) { 
    process.stdout.write(d); 
    }); 
}); 

req.end(); 
req.on('error', function(e) { 
    console.error(e); 
}); 

寫一個劇本的Node.js當我運行該腳本,我得到這個錯誤:

{ [Error: getaddrinfo ENOENT] code: 'ENOTFOUND', errno: 'ENOTFOUND', syscall: 'getaddrinfo' } 

回答

3

hostname屬性options應該是IP地址或域名。在你的例子中,擺脫協議。因此,改變這種:

var options = { 
    hostname: 'https://172.16.2.51', 
    port: 9090, 
    path: '/vm/list', 
    method: 'GET' 
}; 

要這樣:

var options = { 
    hostname: '172.16.2.51', 
    port: 9090, 
    path: '/vm/list', 
    method: 'GET' 
};