Một plugin Jenkins thực hiện yêu cầu HTTP gửi đi có thể dùng trình trợ giúp máy khách nhận biết proxy công khai của 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());

Đoạn mã dùng các kiểu hudson.ProxyConfiguration, java.net.URI và java.net.http. Bên gọi xử lý đầu vào, đầu ra và việc ngắt qua luồng plugin thông thường. Bộ xử lý thân đọc rồi bỏ thân phản hồi.

newHttpClient và giao diện builder của nó có từ Jenkins 2.379. Trong JVM của bộ điều khiển, chúng áp dụng cấu hình proxy mà Jenkins hỗ trợ. Hãy dùng lại máy khách thay vì tạo mới cho từng yêu cầu.

Cách này tránh việc sao chép tên và mật khẩu proxy đã lưu trong bộ điều khiển sang một kênh truyền được cấu hình riêng. Một máy khách HTTP Java tạo riêng không trở nên nhận biết proxy chỉ vì giao diện bộ điều khiển có mục proxy.

Với các yêu cầu gửi tiêu đề Authorization tới đích, hãy xem giới hạn proxy có xác thực được ghi trong tài liệu trên Java 17 và mới hơn. Tài liệu nêu rõ sự kết hợp đó; việc chọn trình trợ giúp này không loại bỏ giới hạn máy khách ấy.

Bài viết liên quan