Autenticación de proxy en Apache HttpClient 5 Fluent con Executor
Combine a ruta viaProxy dun Fluent Request coas credenciais do seu Apache HttpClient 5 Executor.
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.