認証によって保護されたリモート URL に接続すると、401 エラーが発生する場合があります。 Java を使用してプログラムで認証を処理する方法を次に示します。
元のコード:
URL url = new URL(String.format("http://%s/manager/list", _host + ":8080")); HttpURLConnection connection = (HttpURLConnection)url.openConnection();
解決策:
の代わりに提供されたコードでは、次を使用できますアプローチ:
URL url = new URL("location address"); URLConnection uc = url.openConnection(); String userpass = username + ":" + password; String basicAuth = "Basic " + new String(Base64.getEncoder().encode(userpass.getBytes())); uc.setRequestProperty ("Authorization", basicAuth); InputStream in = uc.getInputStream();
このネイティブの代替手段を使用すると、setRequestProperty メソッドを通じてユーザー名とパスワードを直接指定できます。 Authorization ヘッダーは Basic 認証スキームを使用して設定され、ユーザー資格情報は Base64 を使用してエンコードされます。
以上がJava でリモート URL 接続を認証し、401 エラーを処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。