Led SOCKS-ruten for TIdHTTP gennem dens IOHandler
Knyt SOCKS-indstillinger til den Indy 10 IOHandler, som TIdHTTP bruger, mens HTTP-målet bliver på anmodningen.
I Indy 10 forbindes TIdHTTP til en SOCKS-proxy gennem dens IOHandler. Forudsat at formularen allerede ejer komponenterne Http, SocketHandler og Socks:
Http.IOHandler := SocketHandler;
SocketHandler.TransparentProxy := Socks;
Socks.Host := 'proxy.example';
Socks.Port := 1080;
Socks.Version := svSocks5;
Page := Http.Get('http://example.com/');
Her er SocketHandler en TIdIOHandlerStack, og Socks er en TIdSocksInfo. Konfigurer komponenterne før anmodningen. I dette eksempel med et offentligt websted uden konfigurerede proxy-legitimationsoplysninger vælges en SOCKS5-kandidat fra SOCKS5-proxylisten, og en eventuel forældet HTTP-proxyrute holdes ryddet som beskrevet nedenfor. Valget af SOCKS-version er vigtigt, fordi standarden er svNoSocks.
TIdHTTPs ProxyParams konfigurerer en HTTP-proxy. En ren SOCKS-rute hører derimod hjemme på TransparentProxy. At beholde en HTTP-proxy der også kan beskrive en anden mellemmand ud over SOCKS-forbindelsen, så ryd en forældet HTTP-proxykonfiguration, når den ikke er en del af den tilsigtede vej.
Til SOCKS5-godkendelse med brugernavn/adgangskode sættes Socks.Authentication til saUsernamePassword, og brugernavn og adgangskode angives. En SSL-kapabel IOHandler bør beholde sin TLS-rolle; knyt SOCKS til dens nedarvede proxygrænseflade i stedet for at erstatte den med et almindeligt handler.