Vtičnik za Jenkins, ki izvaja izhodno zahtevo HTTP, lahko uporabi javnega pomočnika Jenkinsa za odjemalca, ki pozna proxy:

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());

Odsek uporablja tipe hudson.ProxyConfiguration, java.net.URI in java.net.http. Klicatelj obdela vhod in izhod ter prekinitev z običajnim tokom vtičnika. Upravljalnik telesa telo odgovora porabi in zavrže.

newHttpClient in njegov vmesnik graditelja sta na voljo od Jenkinsa 2.379. V JVM krmilnika uporabljata Jenkinsovo podprto konfiguracijo proxy. Odjemalca uporabite znova, namesto da bi za vsako zahtevo ustvarili novega.

Tako se izognete kopiranju imena in gesla proxy, shranjenih v krmilniku, v ločeno nastavljen prenos. Ločeno ustvarjen odjemalec HTTP v Javi ne postane seznanjen s proxyjem samo zato, ker ima vmesnik krmilnika vnos proxy.

Pri zahtevah, ki cilju pošljejo glavo Authorization, preglejte dokumentirano omejitev overjenega proxyja v Javi 17 in novejših. Dokumentacija posebej opozarja na to kombinacijo; izbira tega pomočnika te omejitve odjemalca ne odpravi.

Sorodni članki