如果 Facebook Messenger 平台上发生 EAI_AGAIN 错误,我该如何解决?
Posted
技术标签:
【中文标题】如果 Facebook Messenger 平台上发生 EAI_AGAIN 错误,我该如何解决?【英文标题】:How can I resolve, if EAI_AGAIN error happens on facebook messenger platform? 【发布时间】:2016-10-15 03:53:13 【问题描述】:我们用于 facebook messenger 平台的 Node.js 应用程序引发了以下错误。 我们使用“请求”模块连接到 facebook graph api,模块抛出了这个错误。在我发现问题后大约 1 小时,问题就解决了。所以现在它正在工作,但我担心它什么时候会再次发生。你能教我这个问题吗?如果有任何解决方案?
Error: getaddrinfo EAI_AGAIN graph.facebook.com:443
at Object.exports._errnoException (util.js:949:11)
at errnoException (dns.js:33:15)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:79:26)
code: 'EAI_AGAIN',
errno: 'EAI_AGAIN',
syscall: 'getaddrinfo',
hostname: 'graph.facebook.com',
host: 'graph.facebook.com',
port: 443
【问题讨论】:
【参考方案1】:简答: 当您失去与 DNS 服务器的连接或 DNS 设置错误(包括但不限于完全或部分断开与 Internet 的连接)时,就会发生这种情况。 即:请检查您的电缆或 WiFi 连接或您的互联网提供商是否存在(临时)问题。
详情:
发生这种情况时,我可以在调试器call stack
中看到系统函数getaddrinfo
失败。因此,似乎微不足道的原因是 - 系统无法将主机名映射到 IP(在您的情况下,找不到主机名“graph.facebook.com”)。
确实,当我尝试 ping 想要访问的主机名时,我得到了与 ping 未知主机一样的 ping 错误:
u@h:~$ ping someunknownhost.xyzdomain
ping: unknown host someunknownhost.xyzdomain
另外,当我的互联网连接恢复并且我可以 ping 主机时,node.js
的问题也消失了。
【讨论】:
以上是关于如果 Facebook Messenger 平台上发生 EAI_AGAIN 错误,我该如何解决?的主要内容,如果未能解决你的问题,请参考以下文章
Facebook Messenger 平台/机器人欢迎配置的奇怪错误