基本認証を使用したHTTPリクエストの送信

Clojure:
基本認証を使用したHTTPリクエストの送信

何となぜ?

HTTPリクエストに基本認証を利用することは、ユーザー名とパスワードで保護されたリソースにアクセスする方法です。この技術はAPIやサービスに安全にアクセスするためによく使われます。

How to:

方法:

(require '[clj-http.client :as client])

(defn fetch-protected-resource [url username password]
  (let [credentials (str username ":" password)
        encoded-creds (clojure.core/base64-encode (.getBytes credentials))]
    (client/get url {:headers {"Authorization" (str "Basic " encoded-creds)}})))

;; 使用例:
(println (fetch-protected-resource "https://example.com/protected" "myuser" "mypassword"))

期待される出力:

{:status 200, :headers { ... }, :body "..." }

Deep Dive

詳細な情報:

基本認証は、HTTPプロトコルの古い形式の認証方法で、RFC 7617で定義されています。セキュリティが強固でないため、HTTPSと組み合わせて使用されることが一般的です。代替手段としては、OAuthやAPIキーなど、より安全な認証方式があります。

Clojureではclj-httpライブラリが人気で、HTTPリクエストを手軽に行えます。上記のコードでは、ユーザー名とパスワードから"Authorization"ヘッダーを生成しています。base64-encodeを利用し、エンコードされた認証情報をHTTPリクエストに持たせています。

See Also

関連情報: