web-dev-qa-db-fra.com

Erreur: getaddrinfo ENOTFOUND

J'ai un simple bot Node.js qui envoie une requête HTTP chaque seconde à une API de repos.

Si les données renvoyées sont correctes, je construis une URL où HTTP POST.

Tout fonctionne bien, mais après environ 4-5 heures, j'ai eu cette erreur.

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)

Est-ce que quelqu'un peut m'expliquer pourquoi c'est arrivé?

Après avoir redémarré mon serveur, tout a fonctionné.

J'utilise axios pour effectuer les requêtes http.

6
Anderson

J'ai rencontré le même problème et l'ai résolu!

essayer:

Sudo vi /etc/hosts

et ajouter:

127.0.0.1 localhost

aux hôtes

8
William

Le symptôme est que l'adresse distante ne peut pas être résolue.

La cause pourrait être beaucoup de choses. Tout d’abord, essayez de voir s’il s’agit d’un noeud spécifique en essayant de résoudre directement l’adresse:

$ nslookup www.rest-api.com

Ou:

$ Dig www.rest-api.com

Si cela ne fonctionne pas, vous avez un problème de connectivité. Cela pourrait être n'importe quoi. Essayez de regarder combien de temps dure votre bail DHCP si vous utilisez DHCP.

Toutefois, si cela fonctionne correctement mais que votre application de nœud échoue encore, vous pouvez peut-être exécuter ceci: https://github.com/nodejs/node/issues/5436 , qui est un bogue dans une bibliothèque sous-jacente. Vous pouvez implémenter la solution de contournement mentionnée dans ce fil, qui spécifie la famille de version IP à l'aide du paramètre suivant { family: 4 } parmi les options de votre demande.

2
arboreal84