为ruby whois gem设置whois服务的地址

使用ruby whois gem,如何设置whois服务的服务器地址?

设置bind_host,我收到一个错误。

> whois_client = Whois::Client.new(bind_host: "192.0.47.59", bind_port: 43) => #"192.0.47.59", :bind_port=>43}> > record = whois_client.lookup('wandajackson.com') Whois::ConnectionError: Errno::EADDRNOTAVAIL: Can't assign requested address - bind(2) for "192.0.47.59" port 43 from (irb):4 

我很确定bind_host不是指用于whois查找的主机,而是指运行代码的服务器上的适配器绑定 。 默认情况下, 它绑定到0.0.0.0或本地服务器上的所有适配器。

如果您想让whois gem使用自定义服务器地址来查找whois信息,那么您似乎必须通过以下方式之一指定它:

 # Define a server for the .com TLD Whois::Server.define :tld, "com", "your.whois.server.address" Whois.whois("google.com") # Define a new server for an range of IPv4 addresses Whois::Server.define :ipv4, "10.0.0.0/8", "your.whois.server.address" Whois.whois("10.0.0.1") # Define a new server for an range of IPv6 addresses Whois::Server.define :ipv6, "2001:2000::/19", "your.whois.server.address" Whois.whois("2001:2000:85a3:0000:0000:8a2e:0370:7334") 

这些示例来自https://www.rubydoc.info/gems/whois/Whois/Server 。