2013-01-09 41 views
1

下面是錯誤得到使用http同時呼籲HTTP GET請求得到錯誤,而在node.js中

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(); 

任何想法,爲什麼這個錯誤?

回答

2

指定主機爲http://xyz.com,這應該只是xyz.com

此值用於解析您嘗試使用DNS連接到的主機的IP地址。

+0

感謝您的答案,現在我得到一個不同的錯誤 events.js:66個 扔參數[1]; //未處理的 '錯誤' 事件 ^ 錯誤:插座掛斷 在createHangUpError(http.js:1263:15) 在Socket.socketCloseListener(http.js:1314:23) 在Socket.EventEmitter.emit(事件.js:115:20) at Socket._destroy.destroyed(net.js:356:10) at process.startup.processNextTick.process._tickCallback(node.js:244:9) – Prats

3

ENOENT是指示名稱解析沒有返回任何結果的錯誤。您指定主機名爲http://xyz.com,但冒號在主機名中不允許。你想:

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