Приклучок за 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. Користете го клиентот повторно наместо да создавате нов за секое барање.

Тоа го избегнува копирањето на името и лозинката за прокси зачувани во контролорот во одделно конфигуриран пренос. Одделно создаден Java HTTP клиент не станува свесен за прокси само затоа што во интерфејсот на контролорот има запис за прокси.

За барања што испраќаат Authorization заглавие до одредиштето, прегледајте го документираното ограничување за автентифициран прокси на Java 17 и понови верзии. Документацијата конкретно ја наведува оваа комбинација; изборот на овој помагач не го отстранува ограничувањето на клиентот.

Поврзани статии