Ruby:
基本認証を使用したHTTPリクエストの送信
How to: (方法:)
require 'net/http'
require 'uri'
uri = URI('http://example.com/secrets')
req = Net::HTTP::Get.new(uri)
req.basic_auth 'user', 'password'
res = Net::HTTP.start(uri.hostname, uri.port) {|http|
http.request(req)
}
puts res.body
実行結果の例:
Secret information here!
Deep Dive (掘り下げ)
ベーシック認証は、HTTP 1.0 で導入された古典的な認証方式です。リクエストのヘッダーに Authorization
を追加し、ユーザー名とパスワードをBase64でエンコードした値を含めます。ただし、HTTPSを通じてのみ安全です。
代替案として、OAuth、トークンベース認証、APIキーなどの方法があります。これらは、二要素認証やスコープ限定アクセスなど、より進化したセキュリティを提供します。
Rubyでは net/http
ライブラリを使うのが一般的ですが、HTTParty
や Faraday
などのライブラリも人気があります。これらは拡張性や使いやすさなど、独自の利点を持っています。
See Also (関連情報)
- Ruby の標準ライブラリ
net/http
:Ruby-Doc.org - HTTP認証に関する詳細:MDN Web Docs
HTTParty
gem:GitHubFaraday
gem:GitHub