rubyでhttp通信をするhttp gem
rubyでhttp通信をする際に便利なhttp gemというものがあるので紹介します。
https://github.com/httprb/http
Install
1 | $ gem install http |
getしてみる
1 | $ pry |
http メソッドを指定する
以下のように指定します。
1 | 'https://restapi.com/objects') response = HTTP.post( |
クエリストリングを指定する
以下のように paramsオプションで指定します。
1 | $ get = HTTP.get("http://example.com/resource", :params => {:foo => "bar"}) |
bodyを指定する
formオプションに設定します。
URLエンコードされたパラメーターが設定されます。
1 | HTTP.post("http://example.com/resource", :form => {:foo => "42"}) |
生データを渡したいときは、bodyオプションを使います。
1 | HTTP.post("http://example.com/resource", :body => "foo=42&bar=baz") |
ネストしたbodyの渡し方
ネストした配列を渡したい場合はjsonを使って以下のように指定できます。
1 | HTTP.put("http://example.com/resource", :params => {foo: "A"}, json: { bar: { hoge: "ok!"} }) |
Basic認証に対応する
以下のように設定ができます。
1 | http = HTTP.basic_auth(user: 'user_name', pass: 'password') |
SSL証明書の検証を無効にする
開発環境の場合などでSSL証明書の検証を無視したい場合は以下のように設定できます。
1 | ctx = OpenSSL::SSL::SSLContext.new |