TIdHTTP-тің SOCKS бағытын оның IOHandler арқылы өткізу
SOCKS параметрлерін TIdHTTP пайдаланатын Indy 10 IOHandler-ге тіркеп, HTTP мақсатын сұрауда қалдырыңыз.
Indy 10-да TIdHTTP-ті оның IOHandler арқылы SOCKS проксиіне қосыңыз. Формада 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.
TIdHTTP-тің ProxyParams параметрі HTTP проксиін конфигурациялайды. Тек SOCKS маршруты TransparentProxy-ге тиесілі. Онда HTTP проксиін де қалдыру SOCKS қосылымынан тыс тағы бір делдалды сипаттауы мүмкін, сондықтан ескірген HTTP прокси конфигурациясын ол жоспарланған жолдың бөлігі болмаса, тазалаңыз.
SOCKS5 пайдаланушы аты/құпия сөз аутентификациясы үшін Socks.Authentication мәнін saUsernamePassword етіп орнатып, пайдаланушы аты мен құпия сөзді беріңіз. SSL мүмкіндігі бар IOHandler өзінің TLS рөлін сақтауы керек; оны қарапайым өңдеушімен ауыстырудың орнына SOCKS-ті оның мұраланған прокси интерфейсіне тіркеңіз.