「いまどき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 をどこでインクリメントするのがスマートなんだろう。
最近のコメント