Плагін Jenkins, які робіць знешні HTTP-запыт, можа выкарыстоўваць публічны праксі-арыентаваны дапаможнік кліента Jenkins:

HttpClient client = ProxyConfiguration.newHttpClient();
HttpRequest request = ProxyConfiguration.newHttpRequestBuilder(
        URI.create("https://service.example/status"))
    .GET()
    .build();
HttpResponse<Void> response = client.send(
    request, HttpResponse.BodyHandlers.discarding());

Фрагмент выкарыстоўвае тыпы hudson.ProxyConfiguration, java.net.URI і java.net.http. Выклікальнік апрацоўвае ўвод і вывад, а таксама перапыненне праз звычайны паток плагіна. Апрацоўнік цела спажывае і адкідвае цела адказу.

newHttpClient і яго інтэрфейс пабудоўніка даступныя з Jenkins 2.379. У JVM кантролера яны прымяняюць падтрыманую Jenkins канфігурацыю проксі. Паўторна выкарыстоўвайце кліент замест стварэння новага на кожны запыт.

Гэта пазбягае капіявання захаваных у кантролеры імя і пароля проксі ў асобна настроены транспарт. Асобна створаны HTTP-кліент Java не становіцца праксі-арыентаваным толькі таму, што ў інтэрфейсе кантролера ёсць запіс проксі.

Для запытаў, якія перадаюць загаловак Authorization прызначэння, азнаёмцеся з задокументаваным абмежаваннем аўтэнтыфікаванага проксі ў Java 17 і пазней. Дакументацыя спецыяльна паказвае на гэтае спалучэнне; выбар гэтага дапаможніка не здымае абмежаванне кліента.

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