Ruby webAPIにbodyをつけてpostする

  • 作成日 2021.10.16
  • 更新日 2022.11.28
  • Ruby
Ruby webAPIにbodyをつけてpostする

RubyでwebAPIにbodyをつけてpostするまでの手順を記述してます。「net/https」を使用します。Rubyのバージョンは3.0.0となります。

環境

  • OS CentOS 7.9.2009 (Core)
  • Ruby 3.0.0

POST実行

ここでは「net/https」を使用して、postを実行します。

bodyに必要な情報は
username
password
として、tokenを取得するものとします。

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

# 構成要素を取得
uri = URI.parse("https://url")

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

# SSL通信
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

# POST
req = Net::HTTP::Post.new(uri.request_uri)

# Headers
req["Content-Type"] = "application/json"

# body(json形式)
body = {
  "username" => "apiuser",
  "password" => "password",
  "domain" => "",
}.to_json

req.body = body

begin
  res = http.request(req)
  results = JSON.parse(res.body)
rescue => e
  p e.message
end

p res.code, res.msg

p results["token"]

tokenが取得されていることが確認できます。