I Indy 10 kobles TIdHTTP til en SOCKS-proxy gjennom IOHandleren. Forutsatt at skjemaet allerede eier 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.

Relaterte artikler