如何在使用Ruby重定向之后获得最终URL?

  • 回答 (2)
  • 关注 (0)
  • 查看 (18)

如果http://foo.com重定向到1.2.3.4然后重定向到http://finalurl.com,我如何使用Ruby找到登陆URL“http://finalurl.com"?

璟櫆璟櫆提问于
黄易音乐战组程序员回答于

这里有两种方法,使用HTTPClientOpen-URI:

require 'httpclient'
require 'open-uri'

URL = 'http://www.example.org'

httpc = HTTPClient.new
resp = httpc.get(URL)
puts resp.header['Location']
>> http://www.example1.org/domains/example/

open(URL) do |resp|
  puts resp.base_uri.to_s
end
>> http://www.example1.org/domains/example/
活动执行wrl回答于

使用curb:

def get_redirected_url(your_url)
  result = Curl::Easy.perform(your_url) do |curl|
    curl.follow_location = true
  end
  result.last_effective_url
end 

扫码关注云+社区