Led SOCKS-ruten for TIdHTTP gjennom IOHandleren
Koble SOCKS-innstillingene til Indy 10 IOHandler som TIdHTTP bruker, mens HTTP-målet blir liggende på forespørselen.
I Indy 10 kobles TIdHTTP til en SOCKS-proxy gjennom IOHandleren. Forutsatt at skjemaet allerede har komponentene 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 komponentene før forespørselen. For dette eksempelet med et offentlig nettsted uten konfigurerte proxy-legitimasjoner velger du en SOCKS5-kandidat fra SOCKS5-proxylisten og holder en eventuell utdatert HTTP-proxyrute ryddet som beskrevet nedenfor. Valget av SOCKS-versjon er viktig fordi standarden er svNoSocks.
ProxyParams i TIdHTTP konfigurerer en HTTP-proxy. En ren SOCKS-rute hører derimot hjemme på TransparentProxy. Å beholde en HTTP-proxy der også kan beskrive en annen mellommann utenfor SOCKS-tilkoblingen, så rydd en utdatert HTTP-proxykonfigurasjon når den ikke er en del av den tiltenkte veien.
For SOCKS5-autentisering med brukernavn/passord setter du Socks.Authentication til saUsernamePassword og oppgir brukernavn og passord. En SSL-kapabel IOHandler bør beholde TLS-rollen sin; koble SOCKS til det nedarvede proxygrensesnittet i stedet for å erstatte det med en vanlig behandler.