Response_code_2xx.rb

This content was produced by an LLM and could include errors.

このスクリプトはURLの生存確認メソッド rc2xx? を定義します。URI.parse で分解したホスト・ポートに対し Net::HTTP でGETリクエストを送り、https スキーマなら SSL を有効化します。レスポンスコードが200以上300未満のときだけ true を返し(例のサイトでは true)、接続失敗やリダイレクトは考慮していない点に注意してください。

require "net/http"
#=> true

def rc2xx?(uri)
  url = URI.parse(uri)
  http = Net::HTTP.new(url.host, url.port)
  http.use_ssl = (url.scheme == "https")
  request = Net::HTTP::Get.new(url.path)
  
  response = http.request(request)
  response_code = response.code.to_i
  response_code >= 200 && response_code < 300
end
#=> :rc2xx?

rc2xx?("https://yumayx.github.io/")
#=> true

Ruby 4.0.6