2013-03-20 27 views
7

以下は、Node.js HTTP応答リクエスタのコードです。getaddrinfo Node.jsのHTTPリクエストからのENOENTエラー

私は明示的に存在していません知っているウェブサイトを使用すると、エラーメッセージは私にエラーを通知します:getaddrinfo ENOENT

は、私は、このエラーの詳細を知りたいです。それは何を生み出すのですか?エラーの詳細は何ですか? 404はそれをスポーンするでしょうか?

var hostNames = ['www.pageefef.com']; 

for (i; i < hostNames.length; i++){ 

    var options = { 
      host: hostNames[i], 
      path: '/' 
    }; 

    (function (i){ 
    http.get(options, function(res) { 

     var obj = {}; 
     obj.url = hostNames[i]; 
     obj.statusCode = res.statusCode; 
     // obj.headers = res.headers; 

     console.log(JSON.stringify(obj, null, 4)); 
    }).on('error',function(e){ 
     console.log("Error: " + hostNames[i] + "\n" + e.message); 
    }); 
    })(i); 
}; 

答えて

8

エラーの詳細については、これを行うことができます。

.on('error',function(e){ 
    console.log("Error: " + hostNames[i] + "\n" + e.message); 
    console.log(e.stack); 
}); 

あなたは、コードが戻る上に存在しないURLを与える場合:

getaddrinfo ENOTFOUND 
Error: getaddrinfo ENOTFOUND 
    at errnoException (dns.js:37:11) 
    at Object.onanswer [as oncomplete] (dns.js:124:16) 

を誤差)(http.requestでhttp.ClientRequestクラスからスローされます。いいえ404はこのエラーを生成しません。エラー404は、クライアントがサーバーと通信できたが、サーバーは要求されたものを見つけることができなかったことを意味します。このエラーは、ドメインネームシステムがアドレスを見つけられなかったことを意味します(dns.jsはNAPTRクエリ用です)。

+1

この詳細なエラーレポートは私が探していたものですが、車を捕まえた犬のような気がします。このエラーが発生すると、どうすればよいですか?それらのさまざまなものがあるので、私はそれを分析するか、ちょうど私の掻爬のリストからこれらの無効なURLを削除する必要がありますか? – theGreenCabbage

+0

エラーはurlにアクセスできないため、ISPにブロックされていないかどうかを確認してください。それ以外の場合は、URLを削除する必要があります。 – user568109

関連する問題