Ruby webAPIにパラメーターをつけてgetする

  • 作成日 2021.10.19
  • 更新日 2022.08.01
  • Ruby
Ruby webAPIにパラメーターをつけてgetする

RubyでwebAPIにパラメーターをつけてgetするまでの手順を記述してます。Rubyのバージョンは3.0.0となります。

環境

  • OS CentOS 7.9.2009 (Core)
  • Ruby 3.0.0

get実行

パラメーターをつけてgetする場合は「URI.encode_www_form」を使用します。

params = URI.encode_www_form({ param1: "a", param2: "b", param3: "c" })

これでパラメーターを使用して、webapiからgetが可能になります。

require "net/https"
require "uri"
require "json"

# URI
BASE_URL = "https://url"
GET_URI = "#{BASE_URL}/api/v1/param?"

# パラメーターを設定
params = URI.encode_www_form({ param1: "a", param2: "b", param3: "c" })

# URL構成要素を取得 (uri.host, uri.port)
uri = URI.parse("#{GET_URI}#{params}")

# セッション開始
http = Net::HTTP.new(uri.host, uri.port)

# SSL接続時の設定
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

# get実行
req = Net::HTTP::Get.new(uri.request_uri)

begin
  # リクエスト開始
  res = http.request(req)
  # jsonにパース
  results = JSON.parse(res.body)
rescue => e
  p e.message
end

# ステータスコードを取得
p res.code, res.msg