For en applikation, der bruger den klassiske groovyx.net.http.HTTPBuilder, skal du sætte ruten på builderen og proxykontoen på dens Apache HTTP-klients legitimationsudbyder:

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)
)

Legitimationsvariablerne kommer fra applikationen. AuthScope svarer til proxys vært og port, som er konfigureret lige ovenfor. Efterfølgende anmodninger gennem denne builder bruger den konfigurerede klient.

Den klassiske HTTPBuilders standardimplementering opretter en Apache DefaultHttpClient, og dens offentlige setProxy-metode sætter den klients standard-proxyrute. Det er det relevante konfigurationsobjekt, selv når applikationen selv kører i Grails eller Tomcat.

Eksemplet henvender sig til den klassiske API. HTTPBuilder-NG har en anden konfigurationsmodel, og en applikation, der erstatter den klassiske builders underliggende klient, skal bruge grænseflader, som erstatningen understøtter. Hold værtsnavn, heltalsport og proxyskema som separate værdier, når du indlæser dem fra applikationskonfigurationen.

Relaterede artikler