Ruby使用ipdataapi获取IP地址信息

Ruby使用ipdataapi获取IP地址信息,ruby,api,Ruby,Api,我试图从ruby中的IP地址获取信息。我想要的两种主要信息类型是它所关联的国家,以及它是否是恶意的。我发现唯一一个可以做到这一点的网站是:它提供了ruby代码,但是作为ruby的新手,我不太理解它。如果我将ruby代码粘贴到文件中并运行它,则会出现以下错误: `require':无法加载此类文件--rest\u客户端(LoadError) 我不知道在哪里可以得到这个rest\u客户端文件,如果它存在的话,我试着到处寻找解决方案…也许我所需要做的就是安装某种gem??我还从他们的网站上获得了一个A

我试图从ruby中的IP地址获取信息。我想要的两种主要信息类型是它所关联的国家,以及它是否是恶意的。我发现唯一一个可以做到这一点的网站是:它提供了ruby代码,但是作为ruby的新手,我不太理解它。如果我将ruby代码粘贴到文件中并运行它,则会出现以下错误:

`require':无法加载此类文件--rest\u客户端(LoadError)

我不知道在哪里可以得到这个rest\u客户端文件,如果它存在的话,我试着到处寻找解决方案…也许我所需要做的就是安装某种gem??我还从他们的网站上获得了一个API密钥,但我不知道该在哪里应用它。我试着联系ipdata的人,但那个人告诉我的唯一一件事是他对ruby不太了解,也帮不了我


非常感谢您的帮助。

通常,当您在Ruby脚本中看到
require
时,它指的是一个gem。然而,在他们的示例中有一个错误:它应该是
rest-client
而不是
rest\u-client

在这种情况下,您可以通过在shell中运行以下命令来安装必要的
rest客户机
gem:

gem install rest-client
关于API密钥,查看API密钥,我看到API密钥作为另一个HTTP头传递。因此,要修改他们的Ruby示例:

require 'rubygems' if RUBY_VERSION < '1.9'
require 'rest-client'


headers = {
  :accept => 'application/json',
  :api_key => 'YOUR API KEY FROM IPDATA GOES HERE'
}

response = RestClient.get('https://api.ipdata.co/8.8.8.8/', headers)

puts response
如果RUBY_版本<'1.9',则需要'rubygems' 需要“rest客户端” 标题={ :accept=>application/json', :api_key=>“IPDATA中的api密钥位于此处” } response=RestClient.get('https://api.ipdata.co/8.8.8.8/,标题) 作出回应
通常,当您在Ruby脚本中看到
require
时,它指的是gem。然而,在他们的示例中有一个错误:它应该是
rest-client
而不是
rest\u-client

在这种情况下,您可以通过在shell中运行以下命令来安装必要的
rest客户机
gem:

gem install rest-client
关于API密钥,查看API密钥,我看到API密钥作为另一个HTTP头传递。因此,要修改他们的Ruby示例:

require 'rubygems' if RUBY_VERSION < '1.9'
require 'rest-client'


headers = {
  :accept => 'application/json',
  :api_key => 'YOUR API KEY FROM IPDATA GOES HERE'
}

response = RestClient.get('https://api.ipdata.co/8.8.8.8/', headers)

puts response
如果RUBY_版本<'1.9',则需要'rubygems' 需要“rest客户端” 标题={ :accept=>application/json', :api_key=>“IPDATA中的api密钥位于此处” } response=RestClient.get('https://api.ipdata.co/8.8.8.8/,标题) 作出回应
当我执行您所做的操作时,我得到一个错误:`exception_with_response':403 Forbidden(RestClient::Forbidden)我明白了,这是因为我们需要这样的括号:RestClient.get('',headers)也,在:accept=>“application/json”之后需要有一个逗号。在我接受它之前,您能编辑它以添加逗号和括号吗?…非常感谢您的帮助,非常感谢。固定的!当我执行您所做的操作时,我得到了错误:`exception_with_response':403 Forbidden(RestClient::Forbidden)我明白了,这是因为我们需要这样的括号:RestClient.get(“”,headers)也,在:accept=>“application/json”之后需要有一个逗号。在我接受它之前,您能编辑它以添加逗号和括号吗?…非常感谢您的帮助,非常感谢。固定的!