Apache HttpClient 4 によるプリエンプティブ基本認証の簡素化
Apache HttpClient 4 は以前のバージョンのプリエンプティブ認証方式を置き換えましたが、代替手段を提供します。同じ機能を実現するため。プリエンプティブ基本認証への直接的なアプローチを求める開発者のために、この記事では簡素化された方法を検討します。
すべてのリクエストに BasicHttpContext を手動で追加する必要性を回避するために、単一の認証ヘッダーを特定のリクエストに追加できます。これは、BasicScheme クラスと UsernamePasswordCredentials を利用して認証ヘッダーを生成し、リクエストに挿入することで実現されます。
これを実装する方法は次のとおりです:
String username = "your-username";
String password = "your-password";
UsernamePasswordCredentials creds = new UsernamePasswordCredentials(username, password);
HttpRequest request = new HttpGet("https://example.com");
request.addHeader(new BasicScheme().authenticate(creds, request));
認証ヘッダーを追加すると、HttpClient 4 はその特定のリクエストに対してプリエンプティブ認証を自動的に実行します。このメソッドを使用すると、HttpClient 構成を変更したり、BasicHttpContext を手動で追加したりする必要がなくなります。
結論として、HttpClient 4 は以前の "setAuthenticationPreemptive" メソッドを直接公開していませんが、この記事で概説したアプローチは便利で効率的な方法を提供します。 1 回のリクエストでプリエンプティブ基本認証を有効にします。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3