Ruby получает информацию об IP-адресе с помощью ipdata API - PullRequest
0 голосов
/ 24 июня 2018

Я пытаюсь получить информацию с IP-адреса в рубине. Мне нужны два основных типа информации: страна, с которой она связана, и является ли она вредоносной или нет. Единственный сайт, который я нашел, может это сделать: https://ipdata.co/docs.html, который предоставляет код ruby ​​для этого, однако, как новичок в ruby, я не совсем понимаю. Если я вставляю код ruby ​​в свой файл и запускаю его, я получаю сообщение об ошибке:

`require ': невозможно загрузить такой файл - rest_client (LoadError)

Я не знаю, где взять этот файл rest_client, если он существует, и я пытался везде искать решения ... Может быть, все, что мне нужно сделать, это установить какой-нибудь гем ?? Я также получил ключ API от их сайта, но не вижу, где его применить. Я пытался связаться с людьми из ipdata, но единственное, что парень сказал мне, это то, что он плохо знал рубин и не мог помочь.

Любая помощь очень ценится.

1 Ответ

0 голосов
/ 25 июня 2018

Обычно, когда вы видите require в скрипте Ruby, он ссылается на гем.Однако в их примере есть ошибка: она должна быть rest-client, а не rest_client.

. В этом случае вы можете установить необходимый гем rest-client, выполнив следующую команду в вашей оболочке:

gem install rest-client

Относительно ключа API, глядя на реализацию Python ipdata Я вижу, что ключ 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...