использование groovy http-builder в преимущественном режиме - PullRequest
21 голосов
/ 06 июля 2011

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

Ответы [ 2 ]

33 голосов
/ 10 июля 2011

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

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
31 голосов
/ 08 марта 2013

Вы также можете решить это Groovy стиль с

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