Elixir - 按名称获取主机?
Elixir - Get Host By Name?
如何使用 Elixir 获取主机名?
似乎没有受支持的 API 并且这两个解决方案似乎围绕着,
- Erlang 的 Inet
- 使用系统 (
hostname
) 分叉到 shell
Elixir 的一般理念是,如果标准 erlang 库中存在解决方案,则没有理由简单地使用 elixir 包装器重现该解决方案,除非您打算以某种方式提供附加功能。
或者换句话说,erlang 库是原生的。
iex(2)> :inet.gethostbyname('www.google.com')
{:ok, {:hostent, 'www.google.com', [], :inet, 4, [{216, 58, 192, 4}]}}
注意:上面的单引号很重要,你可以转换一个Elixir字符串
使用 String.to_charlist
到 Erlang
iex(5)> :inet.gethostbyname(String.to_char_list("www.google.com"))
{:ok, {:hostent, 'www.google.com', [], :inet, 4, [{216, 58, 192, 4}]}}
如何使用 Elixir 获取主机名?
似乎没有受支持的 API 并且这两个解决方案似乎围绕着,
- Erlang 的 Inet
- 使用系统 (
hostname
) 分叉到 shell
Elixir 的一般理念是,如果标准 erlang 库中存在解决方案,则没有理由简单地使用 elixir 包装器重现该解决方案,除非您打算以某种方式提供附加功能。
或者换句话说,erlang 库是原生的。
iex(2)> :inet.gethostbyname('www.google.com')
{:ok, {:hostent, 'www.google.com', [], :inet, 4, [{216, 58, 192, 4}]}}
注意:上面的单引号很重要,你可以转换一个Elixir字符串 使用 String.to_charlist
到 Erlangiex(5)> :inet.gethostbyname(String.to_char_list("www.google.com"))
{:ok, {:hostent, 'www.google.com', [], :inet, 4, [{216, 58, 192, 4}]}}