当使用Node时.jstry 获取以下网页的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中找到服务器(我想).然而,我不确定为什么会这样,因为我的代码在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);
    });
});

这是我复制和粘贴的来源:How to make web service calls in Expressjs?

我没有使用任何 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.parse()解析URL;或者拨打http.get(options, callback)options在哪里

{
  host: 'eternagame.wikia.com',
  port: 8080,
  path: '/wiki/EteRNA_Dictionary'
}

Update

正如@EnchanterIO的 comments 所述,port字段也是一个单独的选项;协议http://不应该包含在host字段中.如果需要SSL,其他答案也建议使用https模块.

Node.js相关问答推荐

无法验证叶签名|无法验证第一个证书

如何在Mongoose中调用动态Collection ?

"sh:/usr/local/bin/node:当它存在于文件目录中时未找到

条件内的表达式

Sass-TypeError:无法读取未定义的属性(正在读取';indexOf';)

如何在 ElectronJS 中播放音频文件

在 puppeteer 中从 pdf 中删除 about:blank 和 date-time

使用 playwright 获取页面中同一 url 的所有响应

Puppeteer 在本地运行良好,但在 Heroku 中运行不佳

Typescript :泛型类又扩展了另一个泛型类

npm 在 Windows 终端中不工作

为什么我的 npm 脚本中的 glob 不起作用?

Winston http 日志(log)级别的行为与 info 不同

使用restify时如何支持cors

容器之间的 Docker HTTP 请求

node/express:使用 Forever 连续运行脚本时设置 NODE_ENV

如何为 node.js 服务器分配域名?

如何从 npm 注册表中删除 npm 包?

Node.js, require.main === 模块

Node.js:如何附加到正在运行的进程并使用控制台调试服务器?