TIdHTTP ର SOCKS ପଥକୁ ଏହାର IOHandler ମାଧ୍ୟମରେ ନିଅନ୍ତୁ
TIdHTTP ବ୍ୟବହାର କରୁଥିବା Indy 10 IOHandler ସହିତ SOCKS ସେଟିଂସ୍ ସଂଯୋଗ କରନ୍ତୁ, 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 କୁ ଏହାର ଉତ୍ତରାଧିକାରୀ ପ୍ରକ୍ସି ଇଣ୍ଟରଫେସ ସହିତ ସଂଯୋଗ କରନ୍ତୁ।