ปล่อยปลายทาง Java SOCKS ไว้โดยไม่แก้ไข
หลีกเลี่ยง DNS ปลายทางในเครื่องเมื่อสร้างการเชื่อมต่อ Java SOCKS โดยคงชื่อโฮสต์เป้าหมายไว้
การเชื่อมต่อ SOCKS อาจล้มเหลวในเครื่องก่อนที่พร็อกซ์จะมีโอกาสแก้ไขปลายทาง ตรวจสอบว่าโค้ดของคุณแก้ไขเป้าหมายขณะสร้างที่อยู่ซ็อกเก็ตหรือไม่
สำหรับซ็อกเก็ต Java SOCKS ให้คงชื่อโฮสต์เป้าหมายพร้อมที่อยู่ปลายทางที่ยังไม่ถูกแก้ไข:
Proxy proxy = new Proxy(Proxy.Type.SOCKS,
new InetSocketAddress("203.0.113.10", 1080));
Socket socket = new Socket(proxy);
socket.connect(InetSocketAddress.createUnresolved(
"destination.example", 443), 5000);ปลายทางและชื่อโฮสต์เป็นค่าตัวอย่าง ใช้บริการ SOCKS5 ของคุณหรือผู้สมัครจากรายการพร็อกซี SOCKS5 สำหรับการทดสอบปลายทางสาธารณะที่ได้รับอนุญาต ความแตกต่างสำคัญคือระหว่างการแก้ไขพร็อกซ์เพื่อให้เข้าถึงได้กับการคงชื่อปลายทางไว้สำหรับการแลกเปลี่ยน SOCKS
เมื่อเชื่อมต่อแล้ว ไคลเอนต์ HTTPS ยังต้องใช้เซสชัน TLS สำหรับชื่อโฮสต์ปลายทาง ตัวห่อ TLS ไม่ควรใช้ชื่อโฮสต์ของพร็อกซ์เป็นตัวตนของคู่สนทนา
ตรวจสอบโค้ดระดับสูงด้วย: ไลบรารีอาจทำการค้นหาของตัวเองก่อนเรียกตัวเชื่อมต่อของคุณ การคงชื่อโฮสต์ในที่อยู่ซ็อกเก็ตนี้ไม่สามารถย้อนการค้นหาที่ทำที่อื่นในแอปพลิเคชันได้