我有一个简单的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)
有人可以向我解释为什么会这样吗?
重新启动服务器后,一切正常。
我正在使用axios发出http请求。
答案 0 :(得分:9)
我遇到了同样的问题并解决了它!
尝试:
sudo vi /etc/hosts
并添加:
127.0.0.1 localhost
到主持人
答案 1 :(得分:2)
症状是无法解析远程地址。
原因可能很多。首先,尝试直接解析地址,尝试查看节点是否具体:
Access Denied
或者:
$ nslookup www.rest-api.com
如果这不起作用,则会出现连接问题。它可能是任何东西。如果您使用DHCP,请尝试查看DHCP租约的持续时间。
但是,如果它确实工作正常,但您的节点应用程序仍然失败,您可能会遇到此问题:https://github.com/nodejs/node/issues/5436,这是底层库中的错误。您可以实现该线程中提到的解决方法,该线程通过以下参数$ dig www.rest-api.com
指定IP版本系列作为请求选项的一部分。
答案 2 :(得分:2)
我遇到了这个问题,因为我的网址中有错字-路径不存在。请注意长子网域网址。我在使用Postman控制台时发现了问题-可以通过查看>显示Postman控制台来获得。