พร็อกซียอมรับ TCP แต่ไม่เคยตอบ CONNECT เสร็จ การตอบกลับของเว็บไซต์ยังไม่เริ่ม เวลาหมดเวลาที่มุ่งเฉพาะการตอบกลับภายหลังนั้นอาจทำให้การตั้งค่านี้รอไม่จำกัด

สำหรับ Apache HttpClient 5.3.1 ให้ตั้งค่าเริ่มต้นของตัวจัดการการเชื่อมต่อ:

var connection = ConnectionConfig.custom()
    .setConnectTimeout(Timeout.ofSeconds(5))
    .setSocketTimeout(Timeout.ofSeconds(10))
    .build();

var manager = PoolingHttpClientConnectionManagerBuilder.create()
    .setDefaultConnectionConfig(connection)
    .build();

var client = HttpClients.custom()
    .setConnectionManager(manager)
    .setProxy(new HttpHost("http", "proxy.example", 8080))
    .build();

ใช้คลาส Apache HttpComponents 5 ภายใต้ org.apache.hc โดยมี Timeout อยู่ในแพ็กเกจยูทิลิตี core5 เก็บไคลเอนต์ไว้ใช้งานแล้วปิด สำหรับการทดสอบ HTTP สาธารณะแบบแยก ให้ผู้สมัครจาก รายการพร็อกซี HTTP จัดหาเอนด์พอยต์ รักษาปลายทางให้คงที่เมื่อเปรียบเทียบเวลาหมดเวลา

ขีดจำกัดการรอที่จัดการ
เวลาหมดเวลาการเชื่อมต่อการสร้างการเชื่อมต่อ
เวลาหมดเวลา socketความไม่มีการเคลื่อนไหว I/O เริ่มต้น รวมถึงการแลกเปลี่ยน CONNECT
การได้มาจากพูล / การตอบกลับของแอปพลิเคชันขั้นตอนอื่นๆ ที่กำหนดค่าแยก

หลัง CONNECT TLS อาจต้องมีขีดจำกัดการตั้งค่าของตัวเองผ่านการกำหนดค่า TLS ของ HttpClient 5 นอกจากนี้ให้แยกความไม่มีการเคลื่อนไหวออกจากกำหนดเวลารวม ไบต์ที่ขาดช่วงหรือการแลกเปลี่ยนการรับรองความถูกต้องซ้ำๆ อาจทำให้เวลารวมยาวขึ้น ใช้นโยบายกำหนดเวลาหรือยกเลิกที่แอปพลิเคชันรองรับสำหรับ งบประมาณเดียวสำหรับการดำเนินการทั้งหมด.

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