我正在尝试从红宝石IP地址中获取信息。我想要的两种主要信息类型是与之关联的国家/地区,以及是否为恶意信息。我发现唯一可以做到这一点的网站是:https://ipdata.co/docs.html,它提供了用于执行此操作的红宝石代码,但是作为红宝石的新手,我对此不太了解。如果我将ruby代码粘贴到文件中并运行它,则会收到错误消息:
`require':无法加载此类文件-rest_client(LoadError)
我不知道该rest_client文件是否存在(如果存在),我尝试到处寻找解决方案...也许我要做的就是安装某种gem?我也从他们的站点获得了API密钥,但是我看不到在哪里应用它。我尝试通过ipdata与人们联系,但是那个家伙告诉我的唯一一件事就是他不太了解ruby,也无济于事。
非常感谢您的帮助。
答案 0 :(得分:2)
通常,当您在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