Elixir - 按名称获取主持人?

时间:2015-05-21 21:07:15

标签: elixir

你如何使用Elixir gethostbyname?

似乎没有受支持的API,这两种解决方案似乎都围绕着,

  1. Erlang的Inet
  2. 使用系统(hostname
  3. 分叉到shell

1 个答案:

答案 0 :(得分:8)

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}]}}