[解決済み】Node.js getaddrinfo ENOTFOUND
質問
Node.jsを使って、以下のWebページのhtmlの内容を取得しようとした場合。
eternagame.wikia.com/wiki/EteRNA_Dictionary
以下のようなエラーが発生します。
events.js:72
throw er; // Unhandled 'error' event
^
Error: getaddrinfo ENOTFOUND
at errnoException (dns.js:37:11)
at Object.onanswer [as oncomplete] (dns.js:124:16)
このエラーをstackoverflowで調べたところ、node.jsがDNSからサーバーを見つけられないからだとわかりました(と思う)。しかし、私のコードは、DNSで完全に動作するため、なぜそうなるのかわかりません。
www.google.com
.
以下は私のコードです(ホストを変更した以外は、非常に類似した質問から実質的にコピー&ペーストしたものです)。
var http = require("http");
var options = {
host: 'eternagame.wikia.com/wiki/EteRNA_Dictionary'
};
http.get(options, function (http_res) {
// initialize the container for our data
var data = "";
// this event fires many times, each time collecting another piece of the response
http_res.on("data", function (chunk) {
// append this chunk to our growing `data` var
data += chunk;
});
// this event fires *one* time, after all the `data` events/chunks have been gathered
http_res.on("end", function () {
// you can use res.send instead of console.log to output via express
console.log(data);
});
});
以下は、私がコピー&ペーストしたソースです。 ExpressjsでWebサービス呼び出しを行うには?
node.jsでモジュールを使っていないのですが、どうすればいいですか?
お読みいただきありがとうございます。
どのように解決するのですか?
で
Node.js
HTTP
モジュールのドキュメントです。
http://nodejs.org/api/http.html#http_http_request_options_callback
のどちらかを呼び出すことができます。
http.get('http://eternagame.wikia.com/wiki/EteRNA_Dictionary', callback)
で解析され、そのURLは
url.parse()
を呼び出すか、または
http.get(options, callback)
ここで
options
は
{
host: 'eternagame.wikia.com',
port: 8080,
path: '/wiki/EteRNA_Dictionary'
}
更新情報
EnchanterIO さんのコメントにあるように
port
フィールドも別のオプションであり、プロトコルの
http://
に含めるべきではありません。
host
フィールドを使用します。他の回答でも
https
モジュールは、SSLが必要な場合に使用します。
関連
-
[解決済み] テスト
-
[解決済み] EventEmitter のメモリリークの可能性が検出された
-
[解決済み] S3 Bucket に何かを送信しようとすると、AWS Missing credentials が表示される (Node.js)
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsで終了する方法
-
[解決済み] Node.jsでファイルを書き込む
-
[解決済み] Node.jsアプリケーションをデバッグするにはどうすればよいですか?
-
[解決済み] Node.jsで環境変数を読み込む
-
[解決済み] Node.jsでファイル/ディレクトリが存在するかどうかを同期的にチェックする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 再インストールを繰り返しても、npm run でモジュール 'sass' が見つからない。
-
[解決済み] エラー: nodejs の get 呼び出しで getaddrinfo ENOTFOUND が発生しました。
-
[解決済み】MongoClient v3.0使用時、db.collectionは関数ではない
-
[解決済み】MongoDBでコレクションを日付で並べ替えるには?
-
[解決済み】Mongooseで配列の値を更新する方法
-
[解決済み] nodejs - http.requestでresponse.writeを使用する場合、第一引数は文字列またはBufferでなければなりません。
-
[解決済み] のエラーが発生しました。これはおそらくnpmの問題ではありません。上に追加のログ出力があると思われます
-
[解決済み] http-server コマンドが見つかりません。
-
[解決済み] node.jsのセットアップウィザードが途中で終了してしまう
-
[解決済み] SQL Server、名前付きインスタンスをデフォルトインスタンスに変換しますか?