groovy - скачать файл с аутентификацией - PullRequest
0 голосов
/ 27 апреля 2018

Мне нужно загрузить текстовый файл, используя обычную аутентификацию (вид аутентификации, при которой браузер запрашивает у вас домен \ имя пользователя и пароль), используя Groovy. Я хотел бы избежать использования дополнительных библиотек, разве нет ничего, чтобы сделать это в Groovy?

Мой текущий код:

new File("test.txt").withOutputStream { out ->
    def url = new URL(myurl).openConnection()

    def remoteAuth = "Basic " + "myusername:mypassword".bytes.encodeBase64()
    url.setRequestProperty("Authorization", remoteAuth);
    out << url.inputStream
}

Но сервер отвечает с ошибкой 401. Что мне делать?

1 Ответ

0 голосов
/ 27 апреля 2018

Groovy использует java.net.Authenticator API. Вы можете указать значение по умолчанию Authenticator, используя java.net.Authenticator#setDefault. Пример использования BasicAuth можно найти в другом ответе .

Authenticator.setDefault (new Authenticator() {
    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication ("username", "password".toCharArray());
    }
});
...