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-ը կցեք նրա ժառանգած վստահված սերվերի միջերեսին՝ փոխարենը սովորական մշակիչով փոխարինելու։

Առնչվող հոդվածներ