我正在寻找一个宝石来解决缩短的网址并生成实际的网址。 有没有宝石这样做?
我搜索了网络,但无法为此找到有用的工具。
如果您已经遇到过这样的工具(或Rails中的gem),请告诉我
感谢, 巴兰
答案 0 :(得分: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
请注意,您可能希望在此基础上添加一些错误检查和超时处理。
答案 1 :(得分:1)
我找到了一个宝石来做到这一点。
在您的gem文件中包含gem "longurl", "~> 0.1.6"
,并在运行bundle install
您可以使用以下代码获取实际网址
long_url = LongURL.expand(short_url)
参考:Long Url