Um Client configurado não tem efeito sobre um ClientResource que ainda usa outro conector. No auxiliar org.restlet.ext.httpclient do Restlet 2.4.4, vincule o recurso a esse cliente antes de iniciá-lo:

Client connector = new Client(new Context(), Protocol.HTTPS);
connector.getContext().getParameters().set("proxyHost", "proxy.example");
connector.getContext().getParameters().set("proxyPort", "8080");

ClientResource resource = new ClientResource(
    "https://service.example/status");
resource.setNext(connector);
connector.start();
try {
    String body = resource.get().getText();
} finally {
    resource.release();
    connector.stop();
}

setNext(connector) é o ponto de anexação. O contexto usa as chaves documentadas proxyHost e proxyPort do auxiliar, com o nome do host separado do esquema e da porta. Defina-as antes de connector.start(). Para um endpoint HTTP público, esses dois campos recebem um endereço e uma porta da lista de proxies HTTP.

Isso pressupõe que o auxiliar implantado seja a extensão Apache indicada. Ele também pode obter padrões do JVM http.proxyHost e http.proxyPort; valores explícitos de contexto tornam o endpoint deste conector visível.

O exemplo consome o corpo de texto, libera o recurso e para o conector. O uso em streaming também precisa consumir ou liberar sua representação para que as conexões do pool possam ser liberadas.

Artigos relacionados