클래식 groovyx.net.http.HTTPBuilder를 사용하는 애플리케이션에서는 빌더에 경로를, 해당 Apache HTTP 클라이언트의 자격 증명 공급자에 프록시 계정을 설정합니다.

import groovyx.net.http.HTTPBuilder
import org.apache.http.auth.AuthScope
import org.apache.http.auth.UsernamePasswordCredentials

def http = new HTTPBuilder('https://api.example.net')
http.setProxy('proxy.example.net', 8080, 'http')

http.client.credentialsProvider.setCredentials(
    new AuthScope('proxy.example.net', 8080),
    new UsernamePasswordCredentials(proxyUser, proxyPassword)
)

자격 증명 변수는 애플리케이션에서 가져옵니다. AuthScope는 바로 위에서 구성한 프록시 호스트와 포트에 일치시킵니다. 이 빌더를 통한 이후 요청은 그렇게 구성된 클라이언트를 사용합니다.

클래식 HTTPBuilder의 기본 구현은 Apache DefaultHttpClient를 만들고, 공개 메서드 setProxy가 해당 클라이언트의 기본 프록시 경로를 설정합니다. 애플리케이션 자체가 Grails나 Tomcat 안에서 실행되더라도 관련 구성 객체는 이것입니다.

예제는 그 클래식 API를 대상으로 합니다. HTTPBuilder-NG는 구성 모델이 다르므로, 클래식 빌더의 기반 클라이언트를 교체하는 애플리케이션은 교체본이 지원하는 인터페이스를 사용해야 합니다. 애플리케이션 구성에서 불러올 때 호스트 이름, 정수 포트, 프록시 스킴을 별도 값으로 유지하십시오.

관련 글