JDK 25 HttpClient SOCKS ProxySelector ପଥ ବ୍ୟବହାର କରେ ନାହିଁ
କେବଳ ProxySelector ଫେରାଉଥିବା ପ୍ରକାର ଉପରେ ନିର୍ଭର ନ କରି SOCKS କୁ ପ୍ରକୃତରେ ସମର୍ଥନ କରୁଥିବା Java HTTP ପରିବହନ ବାଛନ୍ତୁ।
Java ପ୍ରକ୍ସି ବସ୍ତୁ ଏକ ପଥ ବର୍ଣ୍ଣନା କରେ। କେଉଁ ପ୍ରକାରର ପଥ ବ୍ୟବହାର କରାଯାଇପାରିବ ତାହା ନେଟୱାର୍କିଂ କ୍ଲାୟେଣ୍ଟ ଏବେ ମଧ୍ୟ ସ୍ଥିର କରେ। ଉପଲବ୍ଧ ଏଣ୍ଡପଏଣ୍ଟ SOCKS କୁହେ ଏବଂ ଆପ୍ଲିକେସନ java.net.http.HttpClient ବ୍ୟବହାର କରେ ସେତେବେଳେ ଏହା ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ।
ଏଠାରେ ଯାଞ୍ଚ କରାଯାଇଥିବା JDK 25 କାର୍ଯ୍ୟକାରିତାରେ, HTTP କ୍ଲାୟେଣ୍ଟର ଅନୁରୋଧ କୋଡ୍ ଚୟନକର୍ତ୍ତାଠାରୁ ଏକ HTTP ପ୍ରାର୍ଥୀ ଗ୍ରହଣ କରେ। SOCKS ପ୍ରାର୍ଥୀ ଏହାକୁ SOCKS ବୁଝାମଣା କରିବାକୁ ବାଧ୍ୟ କରେ ନାହିଁ; କାର୍ଯ୍ୟକାରିତା ପ୍ରକ୍ସି ବିନା ଆଗକୁ ବଢ଼ିପାରେ। ତେଣୁ ସଫଳ ପ୍ରତିକ୍ରିୟା ଏକ କଷ୍ଟମ ଚୟନକର୍ତ୍ତାର SOCKS ଏଣ୍ଟ୍ରି ବ୍ୟବହୃତ ହୋଇଥିବାର ପର୍ଯ୍ୟାପ୍ତ ପ୍ରମାଣ ନୁହେଁ।
ପ୍ରଥମେ ପରିବହନ ବାଛନ୍ତୁ
URLConnection-ଆଧାରିତ ବିଦ୍ୟମାନ ଆପ୍ଲିକେସନ ପାଇଁ, ସଂଯୋଗ ଖୋଲିବା ସମୟରେ ପ୍ରୋଟୋକଲ ହ୍ୟାଣ୍ଡଲରକୁ ସମର୍ଥିତ ସ୍ପଷ୍ଟ ପ୍ରକ୍ସି ଦିଆଯାଇପାରେ:
Proxy route = new Proxy(Proxy.Type.SOCKS,
new InetSocketAddress("proxy.example", 1080));
URLConnection connection = URI.create("https://service.example/")
.toURL().openConnection(route);
connection.setConnectTimeout(5000);
connection.setReadTimeout(15000);
ଅନୁମତିପ୍ରାପ୍ତ ସାର୍ବଜନୀନ-ଲକ୍ଷ୍ୟ ପରୀକ୍ଷା ପାଇଁ, ଆପଣଙ୍କ ସେବା କିମ୍ବା SOCKS ପ୍ରକ୍ସି ତାଲିକାରୁ ମେଳ ଖାଉଥିବା SOCKS ଏଣ୍ଡପଏଣ୍ଟ ବ୍ୟବହାର କରନ୍ତୁ। ଏହା ଏକ ଭିନ୍ନ କ୍ଲାୟେଣ୍ଟ API, HttpClient.Builder.proxyର ବୈକଳ୍ପିକ ବନାନ ନୁହେଁ। HTTPS ଉଦ୍ଦିଷ୍ଟ ୱେବସାଇଟ ଚିହ୍ନଟ କରିବା ପାଇଁ ଗନ୍ତବ୍ୟ URL ରଖନ୍ତୁ।
java.net.http ରଖିବାକୁ ପଡ଼ୁଥିବା ଆପ୍ଲିକେସନ ଏହାର ପରିବର୍ତ୍ତେ ଉପଯୁକ୍ତ HTTP ପ୍ରକ୍ସି ଏଣ୍ଡପଏଣ୍ଟ ବ୍ୟବହାର କରିପାରେ, ଯେଉଁଥିରେ ପରବର୍ତ୍ତୀ SOCKS ସଂଯୋଗ ସମ୍ଭାଳୁଥିବା ଅନୁମୋଦିତ ଆଡାପ୍ଟର ଅନ୍ତର୍ଭୁକ୍ତ। ଏହା ଏକ ପ୍ରକୃତ ଉପାଦାନ ଏବଂ ଅନ୍ୟ ଏକ ପ୍ରବେଶ ସୀମା ଯୋଡେ; ପୋର୍ଟ 8080 କୁ 1080 କରିବା ସେହି ଅନୁବାଦ ଦିଏ ନାହିଁ।
ଚୟନ ଏବଂ ଗ୍ରହଣ ଦୃଶ୍ୟମାନ ରଖନ୍ତୁ
ଚୟନକର୍ତ୍ତାର ଫଳାଫଳ ଏବଂ କ୍ଲାୟେଣ୍ଟ ପ୍ରକୃତରେ ଖୋଲୁଥିବା ସଂଯୋଗ ଉଭୟ ରେକର୍ଡ କରନ୍ତୁ। ପ୍ରଥମଟି ନୀତି ଆଉଟପୁଟ ବର୍ଣ୍ଣନା କରେ; ଦ୍ୱିତୀୟଟି କାର୍ଯ୍ୟକାରିତା ଏହାକୁ ଗ୍ରହଣ କରିଛି କି ନାହିଁ ନିର୍ଣ୍ଣୟ କରେ।
ନିଷ୍କର୍ଷଗୁଡ଼ିକୁ ବ୍ୟବହୃତ ରନଟାଇମ ଏବଂ ପରିବହନ ସହ ବାନ୍ଧନ୍ତୁ। ଏକ ସକେଟ କାର୍ଯ୍ୟକାରିତା ବ୍ୟବହାର କରୁଥିବା JVM SOCKS ଗୁଣ ପ୍ରତ୍ୟେକ HTTP ଲାଇବ୍ରେରୀ ସେଗୁଡ଼ିକୁ ପଚାରିବ ବୋଲି ପ୍ରତିଶ୍ରୁତି ନୁହେଁ। ପଥ ବାଧ୍ୟତାମୂଳକ ହେଲେ, ଆପାତତଃ ସଫଳ ସିଧା ଅନୁରୋଧ ଗ୍ରହଣ କରିବା ପୂର୍ବରୁ ଅସମର୍ଥିତ ପ୍ରକ୍ସି ପ୍ରକାର ଚିହ୍ନଟ କରାଯିବା ଉଚିତ।