في 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 بواجهة الوكيل الموروثة بدلًا من استبداله بمعالج عادي.

مقالات ذات صلة