Преимущественная базовая аутентификация с помощью HttpURLConnection?
Каков наилучший способ использовать преимущественную базовую http-аутентификацию с использованием HttpURLConnection. (Предположим, что пока я не могу использовать HttpClient).
РЕДАКТИРОВАТЬ для пояснения: я правильно устанавливаю un / pw в заголовке запроса, используя кодировку Base64. Существуют ли какие-либо дополнительные флаги или свойства, которые необходимо установить, или тот факт, что я устанавливаю базовые заголовки аутентификации для запроса, является всем, что необходимо для преимущественной базовой аутентификации?
Переведено автоматически
Ответ 1
Если вы используете Java 8 или более поздней версии, java.util.Base64 можно использовать:
Да, это все, что вам нужно сделать, чтобы использовать базовую аутентификацию. Приведенный выше код для установки свойства Request следует выполнять сразу после открытия соединения и перед получением входных или выходных потоков.
Ответ 2
Кстати, на случай, если кто-то другой столкнется с тем же, проблема Android также присутствует, если вы используете org.apache.commons.codec.binary.Base64 и делаете Base64.encodeBase64String(). Вам нужно выполнить Base64.encodeBase64() и получить byte[], затем сконструировать строку.
Меня совершенно застало врасплох то, что результаты будут разными для строки, заканчивающейся между этими двумя методами.
Ответ 3
Вы можете использовать java.net.Аутентификатор для настройки базовой аутентификации. глобально для каждого запроса, отправляемого вашим приложением, см. :