Рубин: расширить сократить сократить трудный путь - PullRequest
4 голосов
/ 16 февраля 2012

Есть ли способ открыть URL-адреса в ruby ​​и вывести перенаправленный URL-адрес: т.е. преобразовать http://bit.ly/l223ue в http://paper.li/CoyDavidsonCRE/1309121465

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

1 Ответ

6 голосов
/ 16 февраля 2012

Вот метод удлинения

Это очень мало обрабатывает ошибки, но может помочь вам начать. Вы можете обернуть удлинитель начальным спасательным блоком, который возвращает ноль, или попытаться повторить его позже. Не уверен, что вы пытаетесь построить, но надеюсь, что это поможет.

require 'uri'
require 'net/http'

def lengthen(url)
  uri = URI(url)
  Net::HTTP.new(uri.host, uri.port).get(uri.path).header['location']
end


irb(main):008:0> lengthen('http://bit.ly/l223ue')
=> "http://paper.li/CoyDavidsonCRE/1309121465"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...