ส่งเส้นทาง SOCKS ของ TIdHTTP ผ่าน IOHandler ของมัน
เชื่อมการตั้งค่า SOCKS เข้ากับ IOHandler ของ Indy 10 ที่ TIdHTTP ใช้ โดยปล่อยเป้าหมาย HTTP ไว้ที่คำขอ
ใน Indy 10 เชื่อมต่อ TIdHTTP กับพร็อกซี SOCKS ผ่าน IOHandler ของมัน สมมติว่าแบบฟอร์มมีคอมโพเนนต์ Http, SocketHandler และ Socks อยู่แล้ว:
Http.IOHandler := SocketHandler;
SocketHandler.TransparentProxy := Socks;
Socks.Host := 'proxy.example';
Socks.Port := 1080;
Socks.Version := svSocks5;
Page := Http.Get('http://example.com/');
ในที่นี้ SocketHandler คือ TIdIOHandlerStack และ Socks คือ TIdSocksInfo กำหนดค่าคอมโพเนนต์ก่อนส่งคำขอ สำหรับตัวอย่างเว็บไซต์สาธารณะที่ไม่ได้ตั้งค่าข้อมูลรับรองพร็อกซีนี้ ให้เลือกผู้สมัคร SOCKS5 จากรายการพร็อกซี SOCKS5 และเก็บเส้นทางพร็อกซี HTTP ที่ล้าสมัยให้ว่างตามที่อธิบายด้านล่าง การเลือกเวอร์ชัน SOCKS มีความสำคัญเพราะค่าเริ่มต้นคือ svNoSocks
ProxyParams ของ TIdHTTP กำหนดค่าพร็อกซี HTTP ส่วนเส้นทาง SOCKS อย่างเดียวเป็นของ TransparentProxy การเก็บพร็อกซี HTTP ไว้ที่นั่นด้วยอาจอธิบายตัวกลางอีกตัวนอกเหนือจากการเชื่อมต่อ SOCKS ดังนั้นควรล้างการกำหนดค่าพร็อกซี HTTP ที่ล้าสมัยเมื่อไม่ได้เป็นส่วนหนึ่งของเส้นทางที่ต้องการ
สำหรับการยืนยันตัวตนด้วยชื่อผู้ใช้/รหัสผ่านของ SOCKS5 ให้ตั้ง Socks.Authentication เป็น saUsernamePassword และระบุชื่อผู้ใช้และรหัสผ่าน IOHandler ที่รองรับ SSL ควรคงบทบาท TLS ไว้ ให้เชื่อม SOCKS เข้ากับอินเทอร์เฟซพร็อกซีที่สืบทอดมาแทนการแทนที่ด้วยตัวจัดการธรรมดา