【问题标题】:Storing IP addresses in JavaScript variable在 JavaScript 变量中存储 IP 地址
【发布时间】:2020-06-11 17:57:18
【问题描述】:

我在测试设置中总共有 7 台机器,它们在这些机器的任意两种组合之间运行测试脚本。这些脚本需要测试运行中涉及的机器的 IP 地址。我想将每台机器的 IP 地址存储在一个变量中,这样不仅可以更容易地在我们的 JavaScript 测试脚本中引用和调用,而且还可以设计变量,以便通过 ping 机器来设置它们以获得最多所述地址的日期版本。我不指望它们会改变,但你永远不知道会发生什么,这将允许在大多数情况下完全忽略它们。

我们使用 Squish 作为运行 JavaScript 测试脚本的 IDE,Squish 有一个内部函数 OS.system,可让您运行命令提示符。

很明显,我不能只使用const pc1 = OS.system("ping pc-name") 之类的东西,因为 ping 提供的回报远远超过 IP 地址。

我想知道是否有更简单的方法可以将机器的 ip 地址传递给 JavaScript 变量。

【问题讨论】:

    标签: javascript cmd ip-address ping


    【解决方案1】:

    我不知道您使用的是哪个操作系统,但您可以在 Linux bash 中执行类似的操作:

    ping -c 1 google.de | grep PING | awk '{print $3}'
    

    但我建议您为此使用库。 你可以看看这个:(node.js) https://nodejs.org/api/dns.html

    【讨论】:

    • 我建议您使用反引号和 ES6 语法,以免对特殊字符产生任何问题,例如const x = OS.system(`ping -c 1 ${youhostname} .....`)
    • 不幸的是,我们的工作环境禁止未经批准的库。不过我可以尝试让它获得批准。
    • 还有另一种方法。您可以使用提供的 google dns 和非常简单的 https API。例如"dns.google.com/resolve?name=google.de&type=A" 当然,如果你的主机不能被公共 DNS 解析,它就不会工作
    • 我们使用 JavaScript 作为脚本语言进行离线操作。从互联网上离线。我们可以ping内部网络上的计算机。我正在考虑一种将 ping 的结果保存到变量的方法。但是,我认为如果不让大家了解 OS.system 的功能,可能会很困难。
    • 好的,您使用的是哪个操作系统?
    猜你喜欢
    • 2017-06-14
    • 2023-03-25
    • 2011-10-05
    • 2014-05-23
    • 1970-01-01
    • 2019-06-27
    • 2013-05-14
    • 2019-05-20
    • 1970-01-01
    相关资源
    最近更新 更多