In Indy 10 koppel jy TIdHTTP aan 'n SOCKS-volmagtige bediener deur sy IOHandler. Aanvaar dat die vorm reeds Http, SocketHandler en Socks komponente het:

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

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

Hier is SocketHandler 'n TIdIOHandlerStack en Socks 'n TIdSocksInfo. Stel die komponente op voor die versoek. Vir hierdie voorbeeld van 'n openbare webwerf sonder opgestelde volmagtigingsbewyse, kies 'n SOCKS5-kandidaat uit die SOCKS5-volmagtelys en hou enige verouderde HTTP-volmagtige roete skoon soos hieronder beskryf. Die keuse van die SOCKS-weergawe maak saak, want die verstekwaarde is svNoSocks.

TIdHTTP se ProxyParams stel 'n HTTP-volmagtige bediener op. 'n Slegs-SOCKS-roete hoort eerder op TransparentProxy. Om ook 'n HTTP-volmagtige bediener daar te hou, kan 'n ander tussenganger beskryf buiten die SOCKS-verbinding, so maak 'n verouderde HTTP-volmagtige konfigurasie skoon wanneer dit nie deel van die beoogde pad is nie.

Vir SOCKS5-gebruikersnaam/wagwoord-verifikasie, stel Socks.Authentication op saUsernamePassword en verskaf die gebruikersnaam en wagwoord. 'n Bestaande SSL-bekwame IOHandler moet sy TLS-rol behou; koppel SOCKS aan sy geërfde volmagtige koppelvlak eerder as om dit met 'n gewone handler te vervang.

Verwante artikels