错误:getaddrinfo ENOTFOUND

我有一个简单的Node.js机器人,每秒都会向其他API发送HTTP请求。

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

一切正常,但运行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请求。

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

尝试:

sudo vi /etc/hosts

并添加:

127.0.0.1 localhost

到主机

症状是无法parsing远程地址。

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

 $ nslookup www.rest-api.com 

要么:

 $ dig www.rest-api.com 

如果这样做不起作用,就会出现连接问题。 这可能是任何事情。 尝试查看您的DHCP租约持续多久,如果您使用DHCP。

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