在node.js中使用http时出现错误

以下是调用http获取请求时发生的错误

events.js:66 throw arguments[1]; // Unhandled 'error' event ^ Error: getaddrinfo ENOENT at errnoException (dns.js:31:11) at Object.onanswer [as oncomplete] (dns.js:123:16) 

PFB我的代码抛出错误

 var options = { host: 'http://xyz.com', port: 80, path : 'test?query=' + escape(req.params.searchTerm) + '&offset=0&hits=500', method: 'GET', headers: { Cookie : "session=" + session } }; console.log("Start"); var x = http.request(options,function(subRes){ console.log("Connected"); subRes.on('data',function(data){ console.log("===================data===" +util.inspect(data)); }); }); x.end(); 

任何想法,为什么这个错误?

ENOENT是指示名称parsing没有返回任何结果的错误。 您将主机名指定为http://xyz.com ,但在主机名中不允许冒号。 你要:

 var options = { host: 'xyz.com', 

您指定主机为http://xyz.com ,这应该是xyz.com

此值用于parsing您尝试使用DNS连接到的主机的IP地址。