错误:getaddrinfo ENOTFOUND

And*_*son 7 node.js axios

我有一个简单的Node.js bot,它每秒都会向一个rest API发出一个HTTP请求.

如果返回的数据是正确的,那么我构建一个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)
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释为什么会发生这种情况吗?

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

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

Wil*_*iam 10

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

尝试:

sudo vi /etc/hosts

并添加:

127.0.0.1 localhost

主持人

  • 有人可以解释这个解决方案为什么/如何工作吗? (4认同)

arb*_*l84 6

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

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

$ nslookup www.rest-api.com
Run Code Online (Sandbox Code Playgroud)

或者:

$ dig www.rest-api.com
Run Code Online (Sandbox Code Playgroud)

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

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