curlコマンドで、Basic認証を指定する際にuオプションを使用した方が楽なのでメモ
前提
Basic認証が設定されたAPIにユーザーのクレデンシャルを渡す場合、ユーザー名とパスワードをコロン(:)で結合し、その文字列をbase64にエンコードした値をリクエストヘッダーのAuthorization に含める必要がある。
-uオプション
-u オプションを使用する場合は、ユーザー名とパスワードを直接指定するため、base64エンコードする必要がない。
curlコマンドは、指定されたユーザー名とパスワードを内部でbase64エンコードしてから、サーバーに送信してくれる。
curl -u "user:password" https://example.com/protected_resource
-Hオプション
-Hオプションは、HTTPヘッダーを直接指定するために使用されるので、このオプションを使用する場合はAuthorization にbase64エンコードした認証情報を指定する必要がある。
curl -H "Authorization: Basic QWxhbmQ6cGFzc3dvcmQ=" https://example.com/protected_resource
結論
-uオプションの方が楽