V Indy 10 připojte TIdHTTP k SOCKS proxy přes jeho IOHandler. Předpokládejme, že formulář už vlastní komponenty Http, SocketHandler a Socks:

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

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

Zde je SocketHandler TIdIOHandlerStack a Socks TIdSocksInfo. Nakonfigurujte komponenty před požadavkem. Pro tento příklad veřejného webu bez nastavených proxy přihlašovacích údajů vyberte kandidáta SOCKS5 ze seznamu SOCKS5 proxy a udržujte případnou zastaralou HTTP proxy trasu vyčištěnou, jak je popsáno níže. Volba verze SOCKS je důležitá, protože výchozí hodnota je svNoSocks.

ProxyParams v TIdHTTP konfigurují HTTP proxy. Trasa pouze přes SOCKS patří do TransparentProxy. Ponechání HTTP proxy i tam může popisovat dalšího prostředníka za SOCKS spojením, proto vymažte zastaralou konfiguraci HTTP proxy, pokud není součástí zamýšlené cesty.

Pro ověřování SOCKS5 jménem a heslem nastavte Socks.Authentication na saUsernamePassword a dodávejte uživatelské jméno a heslo. IOHandler podporující SSL má zachovat svou roli TLS; připojte SOCKS k jeho zděděnému proxy rozhraní, místo abyste ho nahradili obyčejným handlerem.

Související články