Sa Indy 10, ikonekta ang TIdHTTP sa isang SOCKS proxy sa pamamagitan ng IOHandler nito. Ipagpalagay na mayroon na ang form ng mga component na Http, SocketHandler at Socks:

Http.IOHandler := SocketHandler;
SocketHandler.TransparentProxy := Socks;
Socks.Host := 'proxy.example';
Socks.Port := 1080;
Socks.Version := svSocks5;

Page := Http.Get('http://example.com/');

Dito, ang SocketHandler ay isang TIdIOHandlerStack at ang Socks ay isang TIdSocksInfo. I-configure ang mga component bago ang kahilingan. Para sa halimbawang ito ng pampublikong site na walang naka-configure na kredensyal ng proxy, pumili ng kandidatong SOCKS5 mula sa listahan ng proxy na SOCKS5 at panatilihing malinis ang anumang lumang ruta ng HTTP proxy gaya ng inilarawan sa ibaba. Mahalaga ang pagpili ng bersyon ng SOCKS dahil ang default ay svNoSocks.

Ang ProxyParams ng TIdHTTP ay nagko-configure ng HTTP proxy. Ang rutang SOCKS lamang ay nabibilang sa TransparentProxy sa halip. Ang pagpapanatili rin ng HTTP proxy doon ay maaaring maglarawan ng isa pang tagapamagitan lampas sa koneksyon ng SOCKS, kaya i-clear ang lumang configuration ng HTTP proxy kapag hindi ito bahagi ng inilaan na landas.

Para sa pagpapatotoo ng username/password ng SOCKS5, itakda ang Socks.Authentication sa saUsernamePassword at ibigay ang username at password. Ang IOHandler na may kakayahang SSL ay dapat panatilihin ang tungkulin nitong TLS; ikabit ang SOCKS sa minanang interface ng proxy nito sa halip na palitan ito ng ordinaryong handler.

Kaugnay na mga artikulo