За приложение, което използва класическия groovyx.net.http.HTTPBuilder, задайте маршрута на builder-а и прокси акаунта в доставчика на идентификационни данни на неговия 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 съответства на хоста и порта на проксито, конфигурирани непосредствено по-горе. Следващите заявки през този builder използват този конфигуриран клиент.

Реализацията по подразбиране на класическия HTTPBuilder създава Apache DefaultHttpClient, а публичният му метод setProxy задава маршрута на проксито по подразбиране за този клиент. Това е съответният конфигурационен обект, дори когато самото приложение работи в Grails или Tomcat.

Примерът е насочен към този класически API. HTTPBuilder-NG има различен модел на конфигурация и приложение, което заменя базовия клиент на класическия builder, трябва да използва интерфейси, поддържани от замяната. Пазете името на хоста, целочисления порт и схемата на проксито като отделни стойности, когато ги зареждате от конфигурацията на приложението.

Подобни статии