[解決済み] 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が必要な場合に使用します。
関連
-
[解決済み】 console.logの出力をどこに永久保存するか?
-
[解決済み] Expectアサーションの型エラー -> expect(...).toExistは関数ではない
-
[解決済み] Yarn にパッケージを強制的に再インストールさせるにはどうしたらいいですか?
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] エラー: nodejs の get 呼び出しで getaddrinfo ENOTFOUND が発生しました。
-
[解決済み】ENOENT, そのようなファイルまたはディレクトリがありません。
-
[解決済み】「npm install」と「npm rebuild」の違いとは?
-
webpack ENOENTソリューションの起動
-
[解決済み] Expectアサーションの型エラー -> expect(...).toExistは関数ではない
-
[解決済み] AWS s3 api error: specified bucket does not exist.
-
[解決済み] ExpressJS : res.redirect()が期待通りに動作しない?
-
[解決済み] バルク更新を行う。
-
[解決済み] npm not able to find a fileに関連するエラーは何が原因でしょうか?node_modules サブフォルダ内にコンテンツがありません。なぜでしょうか?
-
[解決済み] SQL Server、名前付きインスタンスをデフォルトインスタンスに変換しますか?