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 არის.

TIdHTTP-ის ProxyParams აკონფიგურირებს HTTP პროქსის. მხოლოდ SOCKS მარშრუტი კი TransparentProxy-ს ეკუთვნის. იქ HTTP პროქსის დატოვებამ შეიძლება SOCKS კავშირის გარდა სხვა შუამავალი აღწეროს, ამიტომ გაასუფთავეთ მოძველებული HTTP პროქსის კონფიგურაცია, როცა ის არ არის განკუთვნილი გზის ნაწილი.

SOCKS5-ის მომხმარებლის სახელის/პაროლის ავთენტიფიკაციისთვის დააყენეთ Socks.Authentication saUsernamePassword-ზე და მიუთითეთ მომხმარებლის სახელი და პაროლი. SSL-ის უნარის მქონე IOHandler-მა უნდა შეინარჩუნოს თავისი TLS როლი; მიაბით SOCKS მის მემკვიდრეობით მიღებულ პროქსის ინტერფეისს, ნაცვლად იმისა, რომ შეცვალოთ იგი ჩვეულებრივი დამმუშავებლით.

დაკავშირებული სტატიები