Подтвердить что ты не робот

С помощью groovy http-builder в превентивном режиме

При использовании groovy http-builder с базовой аутентификацией поведение по умолчанию заключается в том, чтобы сначала отправить неавторизованный запрос и повторно отправить запрос с учетными данными после получения 401 в первую очередь. Apache Httpclient предлагает превентивную аутентификацию для отправки учетных данных непосредственно по первому запросу. Как я могу использовать preemptive auth в groovy http-builder? Любые примеры кода оценены.

4b9b3361

Ответ 1

На основе JIRA issue вы можете сделать что-то вроде этого:

def http = new RESTClient('http://awesomeUrl/')

http.client.addRequestInterceptor(new HttpRequestInterceptor() {
    void process(HttpRequest httpRequest, HttpContext httpContext) {
        httpRequest.addHeader('Authorization', 'Basic ' + 'myUsername:myPassword'.bytes.encodeBase64().toString())
    }
})

def response = http.get(path: "aResource")

println response.data.text

Ответ 2

Вы также можете решить стиль groovy с помощью

http = new RESTClient('http://awesomeUrl/')
http.headers['Authorization'] = 'Basic '+"myUsername:myPassword".getBytes('iso-8859-1').encodeBase64()