多数のプロトコルに対応したコマンドラインネットワーククライアントcurl。そのcurlのコマンドをRubyのnet/httpライブラリを利用したプログラムに変換することができるサイトが「curl-to-ruby」です。
単純なhttpアクセスだけではなくベーシック認証やJSON、フォームデータの送信に対応したソースコードを生成することもできます。
画面上のテキストボックスにcurlのコマンドを打ち込めばそれに対応するRubyコードが表示される仕組みです。ただし一から打ち込まなくても、Simple、Basic Auth、JSON、Complex JSON、Form Dataのリンクをクリックすれば対応するサンプルが表示されます。
以下このサンプルを見ていきたいと思います。
目次
Simple: 単純なHTTPリクエスト
単純なHTTPリクエストでは「response = Net::HTTP.get_response(uri)」でレスポンスが取得できることがわかります。
Basic Auth: ベーシック認証
最も簡単な認証機能であるベーシック認証を利用するには「request.basic_auth("banana", "coconuts")」を呼び出すことがポイントであることがわかります。
Form Data: Formデータの送信
Formでデータを送信する場合「request.set_form_data()」を使ってデータを設定する必要がることがわかります。
まとめ
curl-to-rubyでは、Rubyのコードを簡単に作成して利用できるだけでなく、curlのコマンドそのままデバッグに使えるという便利さがあります。
Rubyプログラマならばブックマークしておいて損はないサイトといえそうです。