ปลั๊กอิน 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 และใหม่กว่า เอกสารระบุการผสมนี้โดยเฉพาะ การเลือกตัวช่วยนี้ไม่ได้ลบข้อจำกัดของไคลเอนต์ดังกล่าว

บทความที่เกี่ยวข้อง