การตรวจสอบสิทธิ์พร็อกซีใน Apache HttpClient 5 Fluent ด้วย Executor
เชื่อมเส้นทาง viaProxy ของ Fluent Request เข้ากับข้อมูลรับรองบน Apache HttpClient 5 Executor ของมัน
ใน Fluent API ของ Apache HttpClient 5 นั้น Request สามารถเลือกพร็อกซีได้ ขณะที่ Executor จัดหาบัญชีของมัน ดำเนินการร้องขอผ่านออบเจ็กต์ที่มีข้อมูลรับรองนั้น:
HttpHost proxy = new HttpHost("http", "proxy.example", 8080);
Executor executor = Executor.newInstance()
.auth(proxy, proxyUser, proxyPassword.toCharArray());
String body = executor.execute(
Request.get("https://www.example.com/").viaProxy(proxy))
.returnContent()
.asString();
Executor และ Request มาจาก org.apache.hc.client5.http.fluent; HttpHost มาจาก org.apache.hc.core5.http ตัวแปรบัญชีมาจากการกำหนดค่าของแอปพลิเคชัน
การใช้พร็อกซีทั้งสองแบบจงใจอธิบายโฮสต์และพอร์ตเดียวกัน viaProxy เลือกเส้นทาง ขณะที่ auth ลงทะเบียนข้อมูลรับรองสำหรับตัวกลางนั้นกับ Executor หากผลลัพธ์สุดท้ายยังเป็น 407 ให้ เปรียบเทียบเส้นทางที่เลือกกับขอบเขตของข้อมูลรับรอง
การเรียกเมธอด execute แบบสะดวกของ Request อีกตัวจะใช้เส้นทางการดำเนินการอื่น เก็บ Executor ที่มีข้อมูลรับรองไว้ผูกกับการดำเนินการเหมือนในตัวอย่าง เพื่อให้ไคลเอนต์ที่ได้รับคำท้าทายมีบัญชีที่กำหนดค่าไว้
ตัวอย่างใช้ส่วนติดต่อรหัสผ่านแบบ char-array ของ 5.x ชิ้นโค้ด HttpClient 4 Fluent รุ่นเก่าใช้แพ็กเกจและลายเซ็นเมธอดที่ต่างกัน เมื่อคำขอเสร็จสิ้น returnContent จะใช้เอนทิตีการตอบกลับและปล่อยการเชื่อมต่อเพื่อนำกลับมาใช้ใหม่