我正在尝试从一个ruby的IP地址中获取信息。我想要的两种主要类型的信息是它所关联的国家/地区以及它是否是恶意的。我找到的唯一可以做到这一点的网站是:https://ipdata.co/docs.html,它提供了ruby代码来做这件事,但是作为ruby的新手,我不太理解它。如果我将ruby代码粘贴到我的文件中并运行它,我会得到以下错误:
‘’:无法加载这样的文件-- rest_client (LoadError)
我不知道从哪里得到这个rest_client文件,如果它存在,并且我已经尝试到处寻找solutions...Maybe,我所需要做的就是安装某种gem??我也从他们的网站上得到了一个API密钥,但我不知道该把它用在哪里。我试着联系ipdata上的人,但那家伙告诉我的唯一一件事就是他对ruby不是很了解,也帮不上忙。
任何帮助都是非常感谢的。
发布于 2018-06-25 05:42:58
通常,当您在Ruby脚本中看到require
时,它指的是一个gem。然而,他们的示例中有一个错误:它应该是rest-client
,而不是rest_client
。
在这种情况下,您可以通过在shell中运行以下命令来安装必要的rest-client
gem:
gem install rest-client
关于API键,查看ipdata python implementation,我看到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
https://stackoverflow.com/questions/51013281
复制相似问题