Gunakan klien HTTP sedar-proxy Jenkins dalam pemalam
Bina klien keluar pemalam melalui pembantu ProxyConfiguration awam Jenkins dan bukan menyalin medan akaun yang disimpan.
Pemalam Jenkins yang membuat permintaan HTTP keluar boleh menggunakan pembantu klien sedar-proxy awam 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());
Coretan ini menggunakan jenis hudson.ProxyConfiguration, java.net.URI dan java.net.http. Pemanggil mengendalikan input dan output serta gangguan melalui aliran pemalam biasa. Pengendali badan menggunakan dan membuang badan respons.
newHttpClient dan antara muka pembinanya tersedia sejak Jenkins 2.379. Dalam JVM pengawal, kedua-duanya menggunakan konfigurasi proksi yang disokong Jenkins. Guna semula klien dan bukan mencipta yang baharu bagi setiap permintaan.
Ini mengelakkan penyalinan nama dan kata laluan proksi yang disimpan dalam pengawal ke pengangkutan yang dikonfigurasi secara berasingan. Klien HTTP Java yang dicipta secara berasingan tidak menjadi sedar-proksi semata-mata kerana antara muka pengawal mempunyai entri proksi.
Bagi permintaan yang menghantar pengepala Authorization ke destinasi, semak had proksi berautentikasi yang didokumenkan pada Java 17 dan lebih baharu. Dokumentasi menyebut gabungan itu secara khusus; memilih pembantu ini tidak menghapuskan had klien tersebut.