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