Во 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 на неговиот наследен прокси интерфејс наместо да го замените со едноставен обработувач.

Поврзани статии