「いまどきBasic認証を使う意義って何?」を読んで、そういえば net/http は Digest 認証に対応していないなあと思った。net/http を Digest 認証に対応させてみた。dig.rb。
使い方は
require 'net/http'
require 'dig'
http = Net::HTTP.new('www.example.com', 80)
http.start{|h|
req = Net::HTTP::Get.new('/digest_auth')
res = h.request(req)
if res.code == '401'
da = req.digest_auth('username', 'passwd', res)
res = h.request(req)
assert da.check_rspauth(res)
end
puts res.body
}
nonce-count をどこでインクリメントするのがスマートなんだろう。
最近のコメント