【发布时间】:2022-01-15 11:05:04
【问题描述】:
我需要创建一个 DNS 请求并获得响应。 我在 Linux(Ubuntu) 中运行这个命令来发送请求并得到响应:
dig +nocmd google.com txt +noall +answer
回复:
google.com. 3400 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95"
google.com. 100 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"
google.com. 100 IN TXT "docusign=1b0a6754-49b1-4db5-8540-d2c12664b289"
google.com. 3400 IN TXT "globalsign-smime-dv=CDYX+XFHUw2wml6/Gb8+59BsH31KzUr6c1l2BPvqKX8="
google.com. 3400 IN TXT "v=spf1 include:_spf.google.com ~all"
我可以在 Elixir 中使用 dig 命令吗?也许有一些库可以帮助我解决这个问题。不幸的是,到目前为止,我还没有找到这样的库。非常感谢您的帮助。
【问题讨论】:
-
你看过
System.cmd/3吗?如果你想使用dig,那可能是你最好的选择。 -
@JustinWood System.cmd("whoami", []) - 例如,这个命令有效,但是当我尝试运行 System.cmd("dig +nocmd google.com txt +noall +answer ", []) 我有一个错误:"(ErlangError) Erlang 错误: :enoent. (elixir 1.10.2) lib/system.ex:795: System.cmd("dig +nocmd google.com txt +noall +answer ", [], [])"
-
"dig" |> System.cmd(~w|+nocmd google.com txt +noall +answer|) |> elem(0) |> IO.puts()
标签: elixir