Насочете SOCKS маршрута на TIdHTTP през неговия IOHandler
Прикачете SOCKS настройките към IOHandler на Indy 10, който TIdHTTP използва, като оставите HTTP целта в заявката.
В Indy 10 свържете TIdHTTP към SOCKS прокси чрез неговия IOHandler. Да приемем, че формулярът вече притежава компонентите Http, SocketHandler и Socks:
Http.IOHandler := SocketHandler;
SocketHandler.TransparentProxy := Socks;
Socks.Host := 'proxy.example';
Socks.Port := 1080;
Socks.Version := svSocks5;
Page := Http.Get('http://example.com/');
Тук SocketHandler е TIdIOHandlerStack, а Socks е TIdSocksInfo. Конфигурирайте компонентите преди заявката. За този пример с публичен сайт без зададени прокси идентификационни данни изберете кандидат за SOCKS5 от списъка със SOCKS5 проксита и дръжте всеки остарял HTTP прокси маршрут изчистен, както е описано по-долу. Изборът на версия на SOCKS е важен, защото по подразбиране е svNoSocks.
ProxyParams на TIdHTTP конфигурират HTTP прокси. Маршрут само през SOCKS принадлежи на TransparentProxy. Задържането там и на HTTP прокси може да описва друг посредник извън SOCKS връзката, затова изчистете остарялата HTTP прокси конфигурация, когато тя не е част от предвидения път.
За удостоверяване с потребителско име/парола за SOCKS5 задайте Socks.Authentication на saUsernamePassword и предоставете потребителското име и паролата. IOHandler с поддръжка на SSL трябва да запази ролята си за TLS; прикачете SOCKS към наследения прокси интерфейс, вместо да го заменяте с обикновен манипулатор.