curl କାହିଁକି HTTP_PROXY କୁ ଅଣଦେଖା କରେ
curl ର ଉଦ୍ଦେଶ୍ୟମୂଳକ HTTP_PROXY ବ୍ୟତିକ୍ରମ, ପ୍ରୋଟୋକଲ୍-ନିର୍ଦ୍ଦିଷ୍ଟ ଚଳ, ALL_PROXY ଏବଂ ପରିବେଶ ଆଧାରିତ ପ୍ରକ୍ସି ପରୀକ୍ଷା ବୁଝନ୍ତୁ।
HTTP ଗନ୍ତବ୍ୟ ପାଇଁ ଛୋଟ ଅକ୍ଷରର http_proxy ସେଟ୍ କରନ୍ତୁ। curl ବଡ଼ ଅକ୍ଷରର HTTP_PROXY କୁ ଉଦ୍ଦେଶ୍ୟମୂଳକ ଭାବେ ଅଣଦେଖା କରେ। POSIX ଶେଲ୍ରେ:
http_proxy=http://127.0.0.1:8080 curl http://example.com/
https_proxy=http://127.0.0.1:8080 curl https://example.com/ଏହି ମୂଲ୍ୟ ନିର୍ଦ୍ଧାରଣଗୁଡ଼ିକ କେବଳ ଠିକ୍ ପରେ ଆସୁଥିବା କମାଣ୍ଡ ପାଇଁ ପ୍ରଯୋଜ୍ୟ। ଉଦାହରଣର ଶୁଣୁଥିବା ଠିକଣାକୁ ନିଜ ପ୍ରକ୍ସି ସହ ବଦଳାନ୍ତୁ; ସାର୍ବଜନୀନ ଏଣ୍ଡପଏଣ୍ଟ ତୁଳନା ପାଇଁ HTTP ପ୍ରକ୍ସି ତାଲିକାରୁ ଗୋଟିଏ ବାଛନ୍ତୁ। https_proxy ଚଳ HTTPS ଗନ୍ତବ୍ୟ ପାଇଁ ପଥ ବାଛେ; http:// ଥିବା ମୂଲ୍ୟ ତଥାପି ଗନ୍ତବ୍ୟକୁ ଟନେଲ୍ ତିଆରି କରିପାରୁଥିବା ସାଧାରଣ HTTP ପ୍ରକ୍ସିକୁ ସୂଚାଏ। PowerShell ଓ Windows କମାଣ୍ଡ ଶେଲ୍ର ମୂଲ୍ୟ ନିର୍ଦ୍ଧାରଣ ବାକ୍ୟରୀତି ଅଲଗା।
ଠିକ୍ ଏହି ବଡ଼ ଅକ୍ଷରର ରୂପ କାହିଁକି ବିପଜ୍ଜନକ
CGI ପରିବେଶ ଆସୁଥିବା ଅନୁରୋଧର ହେଡର୍ଗୁଡ଼ିକୁ ବଡ଼ ଅକ୍ଷରର HTTP_ ଚଳରେ ପରିଣତ କରିପାରେ। ତେଣୁ Proxy ନାମର ହେଡର୍ HTTP_PROXY ହୋଇପାରେ। ଏହାକୁ ବାହାରକୁ ଯାଉଥିବା ସଂଯୋଗର ବିନ୍ୟାସ ଭାବେ ବିଶ୍ୱାସ କଲେ ଅନୁରୋଧର ତଥ୍ୟ ପ୍ରକ୍ସି ବାଛିପାରିବ। curl ର ଛୋଟ ଅକ୍ଷର ଆବଶ୍ୟକତା ଏହି ମ୍ୟାପିଂକୁ ଏଡ଼ାଏ; HTTPS ଓ ଅନ୍ୟ ପ୍ରୋଟୋକଲ୍ର ଚଳ ପାଇଁ ଏହି ବ୍ୟତିକ୍ରମ ଠିକ୍ ସମାନ ଭାବେ ଲାଗୁ ହୁଏ ନାହିଁ।
ଚଳ ବଦଳାଇଲେ ମଧ୍ୟ ପଥ ନ ବଦଳିଲେ
ପ୍ରଥମେ ପ୍ରୋଟୋକଲ୍-ନିର୍ଦ୍ଦିଷ୍ଟ ଚଳ, ତାପରେ ବିକଳ୍ପ ALL_PROXY ଖୋଜନ୍ତୁ। ମେଳ ଖାଉଥିବା NO_PROXY ନିୟମ ପ୍ରକ୍ସିକୁ ଏଡ଼ାଇପାରେ। ଛୋଟ ଅକ୍ଷରର ରୂପ ଓ ପରସ୍ପର ପ୍ରତିସ୍ପର୍ଦ୍ଧୀ ସଂଜ୍ଞା ମଧ୍ୟ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ। Unix ପରି ଶେଲ୍ର ଏହି ଲୁପ୍ କେବଳ ଉପସ୍ଥିତି ଜଣାଏ, ପ୍ରମାଣୀକରଣ ତଥ୍ୟ ଥାଇପାରୁଥିବା ମୂଲ୍ୟ ଛାପେ ନାହିଁ:
for name in http_proxy HTTP_PROXY https_proxy HTTPS_PROXY all_proxy ALL_PROXY no_proxy NO_PROXY; do
if printenv "$name" >/dev/null; then
printf '%s is set\n' "$name"
fi
doneତାଲିକାଭୁକ୍ତ ସଂଜ୍ଞାଗୁଡ଼ିକୁ ସ୍ଥାନୀୟ ଭାବେ ଯାଞ୍ଚ କରନ୍ତୁ। କୌଣସିଟି ପୁଣି ଦେଖାଦେଲେ ଆରମ୍ଭ କରୁଥିବା ଶେଲ୍, ସେବା, IDE, କଣ୍ଟେନର୍ କିମ୍ବା CI ବିନ୍ୟାସ ଦେଖନ୍ତୁ। ଉପସ୍ଥିତି ସମ୍ଭାବ୍ୟ ଇନପୁଟ୍ ଚିହ୍ନଟ କରେ; କେଉଁ ମୂଲ୍ୟକୁ ପ୍ରାଥମିକତା ମିଳିଲା ତାହା ଜଣାଏ ନାହିଁ।
ଗୋଟିଏ ଅନୁରୋଧକୁ ଏହି ପ୍ରକ୍ସି ଚୟନରୁ ପୃଥକ କରିବାକୁ ଏଣ୍ଡପଏଣ୍ଟ ଓ ଖାଲି ବାଇପାସ୍ ତାଲିକା ଉଭୟ ଦିଅନ୍ତୁ:
curl --proxy http://127.0.0.1:8080 --noproxy '' --connect-timeout 5 --max-time 15 --verbose https://example.com/ସିଧା ସଂଯୋଗର ତୁଳନା ପାଇଁ ଅନୁମତି ଥିଲେ:
curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/ଏହି କମାଣ୍ଡଗୁଡ଼ିକ ଉତ୍ତରାଧିକାରରେ ମିଳିଥିବା ପଥକୁ ସଂଯୋଗ ବିଫଳତାରୁ ପୃଥକ କରିବାରେ ସାହାଯ୍ୟ କରେ। ପରିବେଶର ଆଉ ସେଟିଂ ବଦଳାଇବା ପୂର୍ବରୁ ପ୍ରକ୍ସି ପରୀକ୍ଷାର ଫଳ ପର୍ଯ୍ୟାୟକ୍ରମେ ପଢ଼ନ୍ତୁ। curl ର ଚଳ ନିୟମ curl ପାଇଁ ପ୍ରୟୋଗ କରନ୍ତୁ; ଆପ୍ଲିକେସନ୍ର ନିଜ ରନଟାଇମ୍ ପ୍ରକ୍ସିକୁ ଭିନ୍ନ ଭାବେ ଖୋଜି ଓ ଏକତ୍ର କରିପାରେ।