Rubyのopen-uriで基本認証付のURIをオープンする場合、ユーザ、パスワードが間違っていない場合でも “401 Unauthorized” の例外 (OpenURI::HTTPError) が発生することがある。このような事象が発生しているとき、アクセス先がリダイレクト (3xx) のステータスを返している可能性がある。 open-uri ではリダイレクトが行われた場合には、無条件で基本認証に関する削除しているため、リダイレクト先が同一ホスト・realmであった場合でも認証情報が渡されないためこのような事象が発生する。 open-uri.rb より抜粋: 1 2 3 4 5 6 7 if redirect ... if options.include? :http_basic_authentication # send authentication only for the URI