Per a una aplicació que utilitza l'groovyx.net.http.HTTPBuilder clàssic, establiu la ruta al constructor i el compte de proxy al proveïdor de credencials del seu client 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)
)

Les variables de credencials provenen de l'aplicació. L'AuthScope coincideix amb l'amfitrió i el port del proxy configurats just a sobre. Les peticions posteriors fetes amb aquest constructor utilitzen aquest client configurat.

La implementació per defecte de l'HTTPBuilder clàssic crea un Apache DefaultHttpClient, i el seu mètode públic setProxy estableix la ruta de proxy per defecte d'aquest client. Aquest és l'objecte de configuració rellevant fins i tot quan l'aplicació s'executa dins de Grails o Tomcat.

L'exemple s'adreça a aquesta API clàssica. HTTPBuilder-NG té un model de configuració diferent, i una aplicació que substitueix el client subjacent del constructor clàssic ha d'utilitzar interfícies compatibles amb el substitut. Manteniu el nom d'amfitrió, el port enter i l'esquema de proxy com a valors separats en carregar-los de la configuració de l'aplicació.

Articles relacionats