错误:getaddrinfo ENOTFOUND

新手上路,请多包涵

我有一个简单的 Node.js 机器人,它每秒向一个休息 API 发出一个 HTTP 请求。

如果返回的数据是正确的,那么我构建一个我 HTTP POST 的 URL。

一切正常,但运行约 4-5 小时后出现此错误

0|server   | error:  Error: getaddrinfo ENOTFOUND www.rest-api.com www.rest-api.com:443
0|server   |     at errnoException (dns.js:28:10)
0|server   |     at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:73:26)

有人可以向我解释为什么会这样吗?

重新启动服务器后,一切正常。

我正在使用 axios 来发出 http 请求。

原文由 Anderson 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.2k
2 个回答

我遇到了同样的问题并解决了!

尝试:

sudo vi /etc/hosts

并添加:

127.0.0.1 本地主机

给主机

原文由 William 发布,翻译遵循 CC BY-SA 3.0 许可协议

症状是无法解析远程地址。

原因可能有很多。首先,通过尝试直接解析地址来尝试查看它是否特定于节点:

 $ nslookup www.rest-api.com

要么:

 $ dig www.rest-api.com

如果这不起作用,则说明您遇到了连接问题。它可以是任何东西。如果您使用的是 DHCP,请尝试查看您的 DHCP 租约持续多长时间。

但是,如果这确实工作正常但您的节点应用程序仍然失败,您可能会遇到这个问题: https ://github.com/nodejs/node/issues/5436,这是底层库中的错误。您可以实施该线程中提到的解决方法,即通过以下参数 { family: 4 } 指定 IP 版本系列作为请求选项的一部分。

原文由 arboreal84 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题