Koppel in Indy 10 TIdHTTP via zijn IOHandler aan een SOCKS-proxy. Ervan uitgaande dat het formulier al de componenten Http, SocketHandler en Socks heeft:

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

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

Hier is SocketHandler een TIdIOHandlerStack en Socks een TIdSocksInfo. Configureer de componenten vóór het verzoek. Kies voor dit voorbeeld van een openbare site zonder geconfigureerde proxyreferenties een SOCKS5-kandidaat uit de SOCKS5-proxylijst en houd een verouderde HTTP-proxyroute leeg zoals hieronder beschreven. De SOCKS-versie kiezen is belangrijk omdat de standaard svNoSocks is.

De ProxyParams van TIdHTTP configureren een HTTP-proxy. Een route met alleen SOCKS hoort echter op TransparentProxy. Een HTTP-proxy daar ook laten staan kan een andere tussenpartij buiten de SOCKS-verbinding beschrijven, dus wis een verouderde HTTP-proxyconfiguratie wanneer die geen deel uitmaakt van het beoogde pad.

Stel voor SOCKS5-authenticatie met gebruikersnaam/wachtwoord Socks.Authentication in op saUsernamePassword en geef de gebruikersnaam en het wachtwoord op. Een SSL-capabele IOHandler moet zijn TLS-rol behouden; koppel SOCKS aan zijn geërfde proxy-interface in plaats van hem te vervangen door een gewone handler.

Gerelateerde artikelen