Authentifizierte Proxy-Einstellungen für den klassischen Groovy HTTPBuilder
Konfigurieren Sie die Route des klassischen HTTPBuilder und seinen Apache-Credentials-Provider für Host und Port des Proxys.
Für eine Anwendung, die den klassischen groovyx.net.http.HTTPBuilder verwendet, setzen Sie die Route am Builder und das Proxy-Konto im Credentials-Provider des Apache-HTTP-Clients:
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)
)
Die Zugangsdaten-Variablen stammen aus der Anwendung. Der AuthScope entspricht dem unmittelbar darüber konfigurierten Proxy-Host und -Port. Nachfolgende Anfragen über diesen Builder nutzen den so konfigurierten Client.
Die Standardimplementierung des klassischen HTTPBuilder erzeugt einen Apache DefaultHttpClient, und seine öffentliche Methode setProxy setzt die Standard-Proxy-Route dieses Clients. Das ist das relevante Konfigurationsobjekt, auch wenn die Anwendung selbst in Grails oder Tomcat läuft.
Das Beispiel richtet sich an diese klassische API. HTTPBuilder-NG hat ein anderes Konfigurationsmodell, und eine Anwendung, die den zugrunde liegenden Client des klassischen Builders ersetzt, muss Schnittstellen verwenden, die der Ersatz unterstützt. Halten Sie Hostname, ganzzahligen Port und Proxy-Schema als getrennte Werte, wenn Sie sie aus der Anwendungskonfiguration laden.