2015-05-21 87 views
4

你如何使用Elixir gethostbyname?Elixir - 按名稱獲取主機?

似乎沒有被支持的API和兩個解決方案似乎圍繞着,

  1. Erlang的Inet電子
  2. 叉系統(hostname
+1

轉換爲一個Erlang一個,你找一個本地的解決方案,或者乾脆如何使用Elixir的inet? 'inet'模塊工作得很好 – brittlewis12

+0

原生?我現在假設答覆中沒有一個......或缺乏答覆。 –

+1

原生的,我的意思是一個Elixir模塊,而不是一個Erlang模塊。但是您可以在Elixir中使用Erlang模塊:':inet.gethostbyname('google.com')' – brittlewis12

回答

8

一般殼Elixir的理念是,如果解決方案存在於標準的erlang庫中,那麼沒有理由僅僅使用elixir包裝來重現該解決方案,除非您要以某種方式提供附加功能。

換句話說,erlang庫是本地的。

iex(2)> :inet.gethostbyname('www.google.com') 
{:ok, {:hostent, 'www.google.com', [], :inet, 4, [{216, 58, 192, 4}]}} 

注:以上的單引號是重要的,你可以在藥劑串 使用String.to_charlist

iex(5)> :inet.gethostbyname(String.to_char_list("www.google.com")) 
{:ok, {:hostent, 'www.google.com', [], :inet, 4, [{216, 58, 192, 4}]}}