Код, который вы получаете: HTTP 401 Unauthorized
, что означает, что сервер неправильно интерпретирует вашу аутентификацию basi c.
Поскольку вы говорите, что команда curl
с базисом c аутентификация, которую вы показали, работает, я предполагаю, что проблема в вашем коде.
Похоже, вы пытались следовать этому коду.
Единственная ошибка Я могу видеть (но я не могу проверить это, чтобы быть уверенным), что вы просто приводите byte[]
к String
вместо того, чтобы кодировать его с Base64
.
Таким образом, вы должны изменить это:
String authStringEnc = new String(authEncBytes);
до этого:
String authStringEnc = Base64.getEncoder().encodeToString(authEncBytes);
Также вы хотите изменить на это:
byte[] authEncBytes = Base64.encodeBase64(authString.getBytes());
на это:
byte[] authEncBytes = authString.getBytes();
byte[] authEncBytes = authString.getBytes(StandardCharsets.UTF_8);