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.

Relaterede artikler