Giden HTTP isteği yapan bir Jenkins eklentisi, Jenkins'in genel proxy farkında istemci yardımcısını kullanabilir:

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

Bu parça hudson.ProxyConfiguration, java.net.URI ve java.net.http türlerini kullanır. Giriş ve çıkış ile kesme, çağıran tarafından olağan eklenti akışıyla ele alınır. Gövde işleyicisi yanıt gövdesini tüketip atar.

newHttpClient ve oluşturucu arabirimi Jenkins 2.379'dan beri kullanılabilir. Denetleyici JVM'inde Jenkins'in desteklediği proxy yapılandırmasını uygularlar. Her istek için yeni bir tane oluşturmak yerine istemciyi yeniden kullanın.

Bu, denetleyicide saklanan proxy adı ve parolasının ayrı yapılandırılmış bir aktarıma kopyalanmasını önler. Ayrı oluşturulan bir Java HTTP istemcisi, yalnızca denetleyici arayüzünde bir proxy girdisi olduğu için proxy farkında olmaz.

Hedefe Authorization başlığı gönderen istekler için Java 17 ve üstünde belgelenen kimlik doğrulamalı proxy sınırlamasını inceleyin. Belgeler özellikle bu bileşime dikkat çeker; bu yardımcıyı seçmek söz konusu istemci sınırlamasını ortadan kaldırmaz.

İlgili makaleler