Как получить IP сайтов в Rails - PullRequest
2 голосов
/ 06 января 2011

У меня есть проект рельсов. Я строил сайт и сервер, их модели ниже. Когда создается новый сайт, я хочу связать его с нужным сервером, выбрав IP-адрес, на который указывает URL-адрес. Я буду запускать cronjob или EventMachine, чтобы проверить, все ли эти данные все еще актуальны. Таким образом, эти данные будут обновляться, и пользователям не нужно будет их поддерживать.

Вопрос: как мне это сделать; как получить IP сайта, если у меня есть только URL в Rails?

Я использую Rails 3 на Ruby 1.9.2.

Table name: sites  
url        :string(255)  
name       :string(255)  
server_id  :integer #this is a foreign key to a server

Table name: servers
ip         :string(255)
name       :string(255)

1 Ответ

8 голосов
/ 06 января 2011

Взгляните на Resolv, который является частью ruby ​​stdlib.

Resolv - это библиотека распознавания DNS с поддержкой потоков, написанная на Ruby.

>> require "Resolv"
=> true
>> p Resolv.getaddress "google.com"
"209.85.149.147"
...