Անցկացրեք TIdHTTP-ի SOCKS ուղին նրա IOHandler-ով
Կցեք SOCKS կարգավորումները TIdHTTP-ի օգտագործած Indy 10 IOHandler-ին՝ 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 է։
TIdHTTP-ի ProxyParams-ը կարգավորում է HTTP վստահված սերվեր։ Միայն SOCKS ուղին պատկանում է TransparentProxy-ին։ Այնտեղ HTTP վստահված սերվեր պահելը կարող է նկարագրել մեկ այլ միջնորդ SOCKS կապից դուրս, ուստի մաքրեք հնացած HTTP կարգավորումը, երբ այն նախատեսված ուղու մաս չէ։
SOCKS5-ի օգտանվան/գաղտնաբառի նույնականացման համար սահմանեք Socks.Authentication-ը saUsernamePassword-ի և տրամադրեք օգտանունն ու գաղտնաբառը։ SSL-ին ընդունակ IOHandler-ը պետք է պահպանի իր TLS դերը. SOCKS-ը կցեք նրա ժառանգած վստահված սերվերի միջերեսին՝ փոխարենը սովորական մշակիչով փոխարինելու։