HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
String encoded = Base64.getEncoder().encodeToString((username+":"+password).getBytes(StandardCharsets.UTF_8)); //Java 8
connection.setRequestProperty("Authorization", "Basic "+encoded);
次に、通常どおり接続を使用します。
は、Java 7以下を使用している場合は、Base64での文字列をエンコードするための方法が必要になります、例えば:
byte[] message = (username+":"+password).getBytes("UTF-8");
String encoded = javax.xml.bind.DatatypeConverter.printBase64Binary(message);
はい、それはあなたがBasicを使用するためにしなければならないすべてですAuth。 Requestプロパティを設定する上のコードは、接続を開いた後、入力ストリームまたは出力ストリームを取得する直前に実行する必要があります。
はい、これは私が今やっていることです(編集を参照)。 –
はい、それだけです。 – dontocsata
クール、ありがとう。私の問題は他の場所にあることが判明しました。私は、HttpClientのsetPreemptiveAuth型インターフェイスがあることを知っていました.HttpUrlConnectionに類似したものがあるかどうか疑問に思っていました。 –