Apache HttpClient 4.2: ଅନୁରୋଧ ପ୍ରସଙ୍ଗରେ ପ୍ରକ୍ସି AuthCache ରଖନ୍ତୁ
HttpClient 4.2 ପ୍ରକ୍ସିର Basic-auth କ୍ୟାସ୍ ପରବର୍ତ୍ତୀ ଅନୁରୋଧଗୁଡ଼ିକ ବ୍ୟବହାର କରୁଥିବା ସେହି ସମାନ ନିଷ୍ପାଦନ ପ୍ରସଙ୍ଗରେ ରଖନ୍ତୁ।
ପୁରୁଣା HttpClient 4.2.2 ଆପ୍ଲିକେସନରେ କ୍ରେଡେନ୍ସିଆଲ୍ ପ୍ରଦାନକାରୀ ଏବଂ ପ୍ରମାଣୀକରଣ କ୍ୟାସ୍ ଅଲଗା କାମ କରନ୍ତି। ପ୍ରଦାନକାରୀ ଖାତା ଯୋଗାଏ; କ୍ୟାସ୍ ଜାଣିଶୁଣି ପୂର୍ବରୁ ବିନ୍ୟାସିତ ପ୍ରମାଣୀକରଣ ଯୋଜନାକୁ ପରବର୍ତ୍ତୀ ଚ୍ୟାଲେଞ୍ଜ ଆସିବା ପୂର୍ବରୁ ଅଂଶଗ୍ରହଣ କରିବାକୁ ଦିଏ।
ପୁରୁଣା ପ୍ରକ୍ସି-ନିର୍ଦ୍ଦିଷ୍ଟ BasicScheme କନଷ୍ଟ୍ରକ୍ଟର ପାଇଁ, ହସ୍ତାନ୍ତରଣ ଏହିପରି ଦେଖାଯାଏ:
AuthCache cache = new BasicAuthCache();
cache.put(proxy, new BasicScheme(ChallengeState.PROXY));
HttpContext context = new BasicHttpContext();
context.setAttribute(ClientContext.AUTH_CACHE, cache);
HttpResponse response = client.execute(request, context);ଏହି ଅଂଶ ଧରିନେଏ ଯେ client ପାଖରେ ପୂର୍ବରୁ ମେଳ ଖାଉଥିବା ପ୍ରକ୍ସି ମାର୍ଗ ଏବଂ କ୍ରେଡେନ୍ସିଆଲ୍ ପ୍ରଦାନକାରୀ ଅଛି। proxy ହେଉଛି ଏହାର HttpHost, ଏବଂ request ହେଉଛି ପ୍ରକୃତ କାର୍ଯ୍ୟ। କ୍ୟାସ୍ କୀ ସେହି ମଧ୍ୟସ୍ଥକୁ ବର୍ଣ୍ଣନା କରିବା ଉଚିତ, ଗନ୍ତବ୍ୟ ୱେବସାଇଟ୍ ନୁହେଁ।
ଭରା ହୋଇଥିବା ପ୍ରସଙ୍ଗକୁ execute କୁ ଦିଅନ୍ତୁ। ଏହାକୁ ତିଆରି କରି ପରେ ଅନ୍ୟ ପ୍ରସଙ୍ଗ ସୃଷ୍ଟି କରୁଥିବା ଓଭରଲୋଡ୍ ବ୍ୟବହାର କଲେ କ୍ୟାସ୍ ବିନିମୟ ବାହାରେ ରହିଯାଏ। ସେହି ପ୍ରମାଣୀକରଣ ସ୍ଥିତି ଅଂଶୀଦାର କରିବାକୁ ଥିବା ପରବର୍ତ୍ତୀ କାର୍ଯ୍ୟ ପାଇଁ, ପ୍ରତ୍ୟେକ ଥର ଖାଲି ପ୍ରସଙ୍ଗ ପୁନଃ ନିର୍ମାଣ ନକରି ଉପଯୁକ୍ତ ପ୍ରସଙ୍ଗ ରଖନ୍ତୁ।
ସ୍ପଷ୍ଟ PROXY ସ୍ଥିତି ଏହି ପୁରୁଣା API ର। TARGET ଗନ୍ତବ୍ୟର ପ୍ରମାଣୀକରଣ ସହିତ ସମ୍ପୃକ୍ତ। ନୂଆ HttpClient ପିଢ଼ି ପ୍ୟାକେଜ୍ ଏବଂ ପ୍ରମାଣୀକରଣ API ବଦଳାଇଛନ୍ତି, ତେଣୁ ଏହାକୁ ବିଦ୍ୟମାନ 4.2 କୋଡ୍ ପାଇଁ ରକ୍ଷଣାବେକ୍ଷଣ ମାର୍ଗଦର୍ଶନ ଭାବରେ ବ୍ୟବହାର କରନ୍ତୁ, ନୂଆ client ପାଇଁ ପାକବିଧି ନୁହେଁ।
ସାଧାରଣ ଚ୍ୟାଲେଞ୍ଜ-ପରିଚାଳିତ ବିନିମୟ ଏବେ ମଧ୍ୟ ସଠିକ୍ ହୋଇପାରେ। କେବଳ ଜଣାଶୁଣା ଏବଂ ଉଦ୍ଦିଷ୍ଟ ପ୍ରକ୍ସି ପାଇଁ Basic ପ୍ରମାଣୀକରଣ ବୁଣନ୍ତୁ, ଏବଂ ପରବର୍ତ୍ତୀ କାର୍ଯ୍ୟକୁ ଏହାର ସଂଯୋଗ ଆବଶ୍ୟକ ହେବା ପୂର୍ବରୁ ପ୍ରତ୍ୟେକ ପ୍ରତିକ୍ରିୟା ବ୍ୟବହାର କରନ୍ତୁ କିମ୍ବା ମୁକ୍ତ କରନ୍ତୁ। ଉପଯୋଗୀ ଫଳାଫଳ ହେଉଛି ଅନୁରୋଧକୁ ପ୍ରକୃତରେ ପଠାଉଥିବା ନିଷ୍ପାଦନ ସହିତ ସଂଯୁକ୍ତ ଖାତା ଏବଂ କ୍ୟାସ୍ ହୋଇଥିବା ଯୋଜନା।