У Fluent API Apache HttpClient 5 аб'ект Request можа выбраць проксі, а Executor падае яго ўліковы запіс. Выканайце запыт праз гэты аб'ект з уліковымі данымі:

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 і Request паходзяць з org.apache.hc.client5.http.fluent; HttpHost — з org.apache.hc.core5.http. Пераменныя ўліковага запісу бяруцца з канфігурацыі праграмы.

Дзве выкарыстанні проксі наўмысна апісваюць адзін і той жа хост і порт. viaProxy выбірае маршрут, а auth рэгіструе ўліковыя даныя для гэтага пасярэдніка ў Executor. Калі канчатковы вынік застаецца 407, параўнайце выбраны маршрут з абсягам уліковых даных.

Выклік зручнага метаду execute у асобным Request выкарыстаў бы іншы шлях выканання. Трымайце Executor з уліковымі данымі прывязаным да аперацыі, як у прыкладзе, каб кліент, які атрымлівае выклік, меў наладжаны ўліковы запіс.

Прыклад выкарыстоўвае інтэрфейс пароля char-array з 5.x. Старыя фрагменты HttpClient 4 Fluent ужываюць іншыя пакеты і подпісы метадаў. Пасля завяршэння запыту returnContent спажывае цела адказу і вызваляе злучэнне для паўторнага выкарыстання.

Падобныя артыкулы