Help us understand the problem. What is going on with this article?

Ruby で HTTP リダイレクト先の URL を取得する

概要

  • Ruby で HTTP リダイレクト先の URL を取得する
  • 動作確認環境: Ruby 2.7.1 + macOS Catalina

ソースコード

get_redirect.rb というファイル名で以下の内容を保存する。

get_redirect.rb
require 'net/http'

# コマンドライン引数を取得
src_url = ARGV[0]

# リダイレクト先URLを取得
redirect_url = Net::HTTP.get_response(URI.parse(src_url))['location']

# リダイレクト先URLを出力
puts redirect_url if redirect_url

実行例。

$ ruby get_redirect.rb https://bit.ly/3kmTOkc
https://t.co/yITSBp4ino
$ ruby get_redirect.rb https://t.co/yITSBp4ino
https://qiita.com/niwasawa
$ ruby get_redirect.rb https://qiita.com/niwasawa

参考資料

niwasawa
迷子になりがちな地図・位置情報系プログラマ。
http://niwasawa.hatenablog.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away