Na API Fluent de Apache HttpClient 5, o Request pode escoller un proxy mentres o Executor fornece a súa conta. Execute a petición a través dese obxecto con credenciais:

HttpHost proxy = new HttpHost("http", "proxy.example", 8080);
Executor executor = Executor.newInstance()
    .auth(proxy, proxyUser, proxyPassword.toCharArray());

String body = executor.execute(
        Request.get("https://www.example.com/").viaProxy(proxy))
    .returnContent()
    .asString();

Executor e Request proveñen de org.apache.hc.client5.http.fluent; HttpHost de org.apache.hc.core5.http. As variables da conta proveñen da configuración da aplicación.

Os dous usos do proxy describen intencionadamente o mesmo host e porto. viaProxy escolle a ruta, mentres auth rexistra as credenciais dese intermediario no Executor. Se o resultado final segue a ser 407, compare a ruta seleccionada co ámbito das credenciais.

Chamar o método execute de conveniencia dun Request separado usaría outra vía de execución. Manteña o Executor con credenciais vinculado á operación, como no exemplo, para que o cliente que recibe o desafío teña a conta configurada.

O exemplo usa a interface de contrasinal char-array de 5.x. Os fragmentos antigos de HttpClient 4 Fluent usan paquetes e sinaturas de métodos diferentes. Cando a petición remata, returnContent consome a entidade de resposta e libera a súa conexión para reutilizala.

Artigos relacionados