【发布时间】:2018-07-10 11:39:56
【问题描述】:
我有一个 Node.js 应用程序。我正在尝试编写一个实用程序来进行一些网络检测。我创建这个应用程序只是为了了解有关 Node 的更多信息。
在这个应用程序中,我想查看 a) 我的计算机是否在线以及 b) 它是否可以访问互联网。如果我在浏览器中执行此操作,我可以使用navigator.onLine,然后尝试访问一个网站。但是,这不是 Node 中的选项。
我查看了OS module's networkInterfaces method,但是,它似乎没有我需要的东西。例如,如果您去星巴克,您可以“在线”,但在您同意其网络的服务条款之前无法真正访问互联网。我一直在通过在我的机器上切换飞行模式来测试这种情况。无论飞行模式是打开还是关闭,networkInterfaces 方法都会返回相同的内容。
如何在 Node 中重新创建 navigator.onLine 功能?
【问题讨论】:
-
可以像
fetch到一个 URL 然后检查状态代码这样简单的事情吗?如果您需要进行身份验证(在星巴克的示例中),您应该无法获得200,因为您实际上不会连接到该页面。看起来很老套,但它可能会节省一些时间。 -
这看起来像是在 NodeJs 中检查互联网连接的副本 - stackoverflow.com/questions/15270902/…
-
看看repo:is-online
标签: javascript node.js