ハセテツラボ

生涯一開発屋

RubyでPOST送信して結果を受け取る

without comments

RubyでHTTP経由でのXMLの受信と解析でGETする方法は書きましたが、POSTまでは書いていませんでした。今回はRubyでPOSTする方法です。GETで猛烈に長いクエリをつければPOSTできなくても同じことが実現できますが、まぁそこは気にせず。

require ‘net/http’
Net::HTTP.version_1_2
http = Net::HTTP.new(ホスト名, 80)
response = http.post( ‘/hoge.php’, ‘a=hoge&b=hogehoge’ )
p response.body

これだけ。ホスト名にはhttpは付けません。ポート番号は省略しても大丈夫です。Content-Type等は必要に応じて。newするときの第三引数です。「application/x-www-form-urlencoded」でいいのかな?ハセテツはつけてませんが、きちんとPOSTできてます。あー、相手がUTF8じゃない場合とかは文字コードの指定が必要かも。

responseの中身を見ればHTTPステータスコードとかも入っていると思います。その辺は割愛。

次はファイルのアップロードのやり方なんかも調べてみましょう。使うかどうかは微妙な気もしますが。

関連性のあるエントリ:

  1. ハセテツがRubyonRailsを利用する理由
  2. CSVファイルをダウンロードさせる方法
  3. たぬき出没
  4. エレクトリックダーツ
  5. Djangoでファイルをダウンロードさせる方法

Written by

6月 17th, 2009 at 11:55 am

Posted in Ruby

Tagged with ,

Leave a Reply