2

我正在寻找一个 gem 来解析缩短的 url 并生成实际的 url。有没有这样做的宝石?

我在网上搜索过,但找不到有用的工具。

如果您已经遇到过这样的工具(或 Rails 中的 gem),请告诉我

谢谢,巴兰

4

2 回答 2

2

这取决于 URL 缩短服务。也就是说,这将适用于任何使用 301 状态代码和Location标头的服务:

require 'net/http'

def get_long_url(short_url)
  uri = URI.parse(short_url)
  http = Net::HTTP.new(uri.host)
  response = http.get(uri.path)
  response.fetch('location')
end

get_long_url("http://bit.ly/LmvF") #=> http://google.com

请注意,尽管您可能希望在此之上添加一些错误检查和超时处理。

于 2012-07-11T07:59:37.580 回答
0

我找到了一个可以做到这一点的宝石。

包含gem "longurl", "~> 0.1.6"在您的 gem 文件中,并在运行后bundle install

您可以使用下面的代码来获取实际的网址

long_url = LongURL.expand(short_url)

参考:长网址

于 2012-07-16T05:19:23.797 回答