Apache HttpClient รู้รหัสผ่านแต่ยังได้รับ 407
จับคู่ข้อมูลรับรองพร็อกซีของ Apache HttpClient กับเส้นทางพร็อกซีจริง และแยกแยะการท้าทายการตรวจสอบสิทธิ์ออกจากการเข้าสู่ระบบที่ล้มเหลว
รหัสผ่านที่ถูกต้องที่ผู้ให้บริการไม่ได้สร้างข้อมูลรับรองที่ตรงกับพร็อกซีที่เลือกจริง เริ่มจากสคีมา โฮสต์ และพอร์ตของปลายทางนั้น ฟิลด์โฮสต์มักรับเฉพาะชื่อโฮสต์หรือ IP ไม่ใช่ URL แบบเต็ม
- อ่านการแลกเปลี่ยนการตรวจสอบสิทธิ์ทั้งหมด 407 ตามด้วยการลองใหม่ที่ได้รับการยอมรับ อาจเป็นเรื่องปกติ ยืนยันว่าผลลัพธ์สุดท้ายยังเป็น 407 ก่อนถือว่าการเข้าสู่ระบบถูกปฏิเสธ
- เปรียบเทียบเส้นทางและขอบเขตข้อมูลรับรอง จับคู่โฮสต์/พอร์ตจริงและฟิลด์อื่น ๆ ที่กำหนดโดย HttpClient 5 AuthScope ที่ติดตั้งไว้ พอร์ตที่ผิดอาจทำให้ BasicCredentialsProvider ไม่มีรายการที่เหมาะสม
- ตรวจสอบเมธอดและตัวตน พร็อกซีเสนอเมธอดที่รองรับหรือไม่ การลองใหม่ใช้การเชื่อมต่อที่คาดไว้หรือไม่ ผู้ให้บริการต้องการบัญชีที่ผ่านคุณสมบัติโดเมนหรือรูปแบบอื่นที่มีเอกสารหรือไม่
ใช้ API ของเวอร์ชันหลักที่ติดตั้งไว้ สูตรแคชการตรวจสอบสิทธิ์ของ HttpClient 4 ไม่ย้ายไปยังเวอร์ชัน 5 โดยไม่เปลี่ยนแปลง ใช้ข้อกำหนดบัญชีของผู้ให้บริการแทนการไล่วนรูปแบบชื่อผู้ใช้ตามอำเภอใจ
การตรวจสอบสิทธิ์ล่วงหน้าเป็นอีกทางเลือกที่ตั้งใจ สำหรับสคีมาที่เข้ากันได้อาจตัดรอบหนึ่งออกได้ แต่จะเปลี่ยนเวลาที่ข้อมูลรับรองออกไปและต้องมีขอบเขตที่รองรับ ไม่สามารถเป็นการแก้ไขแรกสำหรับปลายทางที่ไม่ตรงกันหรือเมธอดที่ไม่รองรับ
เก็บตัวตนพร็อกซีที่ถูกท้าทาย เมธอด การตรงกันของขอบเขต และสถานะสุดท้ายไว้ใน การวินิจฉัย ที่แก้ไขแล้ว รหัสผ่านและร่องรอยดิบที่พาข้อมูลรับรองไม่จำเป็นสำหรับการเปรียบเทียบนั้น