2011年 10月 の投稿一覧

RubyでHTTPSリクエスト発行する

Rubyでプログラム書いていてWeb系のAPIHTTPSでアクセスする必要があったので調べた。
RubyでPOSTメソッドを発行するには以下の様に標準添付されているライブラリのnet/httpを利用すればよい。

#接続先ホスト名
hostname = "www.foo.bar"
#接続先パス
reqpath = "/foo/bar"
#POSTする際のパラメータ
param = "foo=hogehoge&bar=hogehoge"
https = Net::HTTP.new(hostname, 443)
https.use_ssl = true
https.verify_mode = OpenSSL::SSL::VERIFY_NONE  #本当は良くないが証明書チェック省略
res = https.post(
reqpath, param
)
p res.body # HTTP応答のBODYを出力

Rubyは標準ライブラリがいいですねぇ。

Rubyでnilの判定

Rubyでnil (空オブジェクト) の判定は nil? で行える。*1
if修飾子で書くと綺麗に書ける。やはりRubyで書くと読みやすいな。

def foo do
res = db.find("id" => 1)
return 'error' if res.nil?   # resが空オブジェクトの場合は 'error' を返却
#ゴニョゴニョする
'ok' # okを返却
end

*1:nilもオブジェクトなのか。空という定義のオブジェクト