cURLを使用して認証ヘッダーを設定する方法 質問する

cURLを使用して認証ヘッダーを設定する方法 質問する

cURL を使用して認証ヘッダーを渡すにはどうすればよいですか? ( で実行可能/usr/bin/curl)。

ベストアンサー1

http://curl.se/docs/httpscripting.html

パート6「HTTP認証」を参照

HTTP認証

HTTP 認証は、ユーザー名とパスワードをサーバーに伝えて、実行しようとしているリクエストを実行する権限があるかどうかをサーバーが確認できるようにする機能です。HTTP で使用される基本認証 (curl がデフォルトで使用するタイプ) はプレーン テキストベースです。つまり、ユーザー名とパスワードはわずかに難読化された状態で送信されますが、ユーザーとリモート サーバー間のネットワークをスニッフィングするすべてのユーザーが完全に読み取ることができます。

認証にユーザー名とパスワードを使用するように curl に指示するには:

curl --user name:password http://www.example.com

サイトによっては、別の認証方法が必要な場合があります (サーバーから返されるヘッダーを確認してください)。その場合は、--ntlm、--digest、--negotiate、さらには --anyauth が適切なオプションである可能性があります。

場合によっては、HTTP アクセスは HTTP プロキシ経由でのみ可能です。これは、さまざまな企業で特によくあるようです。HTTP プロキシでは、クライアントがインターネットにアクセスできるようにするために、独自のユーザー名とパスワードが必要になる場合があります。curl でそれらを指定するには、次のように実行します。

curl --proxy-user proxyuser:proxypassword curl.haxx.se

プロキシで NTLM 方式を使用して認証を行う必要がある場合は --proxy-ntlm を使用し、ダイジェストが必要な場合は --proxy-digest を使用します。

これらのユーザー + パスワード オプションのいずれかを使用し、パスワード部分を省略すると、curl は対話的にパスワードを要求します。

プログラムを実行すると、システムの実行中のプロセスの一覧にそのパラメータが表示される可能性があることに注意してください。したがって、パスワードを単純なコマンド ライン オプションとして渡すと、他のユーザーがパスワードを見ることができる可能性があります。これを回避する方法があります。

HTTP 認証はこのように動作しますが、多くの Web サイトではログインなどを提供するときにこの概念を使用しないことに注意してください。詳細については、下の「Web ログイン」の章を参照してください。

おすすめ記事