curl ଦ୍ୱାରା ପ୍ରକ୍ସି ପରୀକ୍ଷାରେ HTTP 000 ର ଅର୍ଥ କ’ଣ?
000 ୱେବସାଇଟ୍ ପଠାଇଥିବା HTTP ସ୍ଥିତି ନୁହେଁ। ଦେଖାଯାଉଥିବା HTTP ଫିଲ୍ଡ ସହିତ curl ର ଏକ୍ଜିଟ୍ କୋଡ୍ ଓ ତ୍ରୁଟି ବାର୍ତ୍ତା ପଢ଼ନ୍ତୁ।
curl ପରୀକ୍ଷା HTTP ସ୍ଥିତି ପାଇଁ 000 ଦେଖାଇଲେ, ଜଣାଇବା ପାଇଁ କୌଣସି ଶେଷ HTTP ପ୍ରତିକ୍ରିୟା କୋଡ୍ ପାଇନାହିଁ। ୱେବସାଇଟ୍ ପ୍ରକୃତରେ 000 ନାମରେ କୌଣସି HTTP ସ୍ଥିତି ପଠାଇନାହିଁ।
ତ୍ରୁଟିକୁ ମଧ୍ୟ ରେକର୍ଡ କରନ୍ତୁ
POSIX ଶେଲ୍ ପାଇଁ ଏହି ଉଦାହରଣ ଶେଷ HTTP ଫିଲ୍ଡ, CONNECT ଫିଲ୍ଡ ଏବଂ curl ପ୍ରକ୍ରିୟାର ଏକ୍ଜିଟ୍ କୋଡ୍ ପ୍ରିଣ୍ଟ କରେ:
curl --proxy http://203.0.113.10:8080 --noproxy '' --connect-timeout 5 --max-time 15 --silent --show-error --output /dev/null --write-out 'http=%{http_code} connect=%{http_connect}\n' https://example.com/
result=$?
printf 'curl_exit=%s\n' "$result"
ଉଦାହରଣର ଏଣ୍ଡପଏଣ୍ଟ ସ୍ଥାନରେ ଆପଣଙ୍କ HTTP ପ୍ରକ୍ସି କିମ୍ବା HTTP ପ୍ରକ୍ସି ତାଲିକାରୁ ଏକ ସମ୍ଭାବ୍ୟ ବିକଳ୍ପ ରଖନ୍ତୁ। show-error ଚାଲୁ ରଖନ୍ତୁ: ତ୍ରୁଟି ବାର୍ତ୍ତା ଅନେକ ସମୟରେ ସବୁଠାରୁ ଉପଯୋଗୀ ଅଂଶ। ଟନେଲ୍ ବ୍ୟବହାର ହେଲେ CONNECT ଫିଲ୍ଡ ପ୍ରାସଙ୍ଗିକ; ଏହା ୱେବସାଇଟ୍ର ଦ୍ୱିତୀୟ ଶେଷ ସ୍ଥିତି ନୁହେଁ।
ମୂଲ୍ୟଗୁଡ଼ିକ ଏକାଠି ପଢ଼ନ୍ତୁ
- ପ୍ରକ୍ସି ସହ ସଂଯୋଗ ବିଫଳ ହେଲେ HTTP ଫିଲ୍ଡ 000 ରହିପାରେ।
- ପ୍ରତିକ୍ରିୟା ମିଳିବା ପୂର୍ବରୁ ସମୟସୀମା ଶେଷ ହେଲେ ମଧ୍ୟ ସମାନ ଫଳ ହୋଇପାରେ।
- ସଫଳ CONNECT ପ୍ରତିକ୍ରିୟା ପରେ TLS ବିଫଳତା ହେଲେ connect=200 ଏବଂ http=000 ଦେଖାଯାଇପାରେ।
- ୱେବସାଇଟ୍ର ସମ୍ପୂର୍ଣ୍ଣ ପ୍ରତିକ୍ରିୟା, ଯେପରି 403, ଅଲଗା କଥା: ଯାଞ୍ଚ ପାଇଁ ପ୍ରକୃତ HTTP ପ୍ରତିକ୍ରିୟା ଅଛି।
ସଠିକ୍ ଏକ୍ଜିଟ୍ କୋଡ୍ ଓ ବାର୍ତ୍ତା କାରଣର ପରିସର ସୀମିତ କରେ। ପ୍ରକ୍ସି ଖୋଜିବା, ତାହାର ପୋର୍ଟ ସହ ସଂଯୋଗ କରିବା, ଟନେଲ୍ ପାଇଁ ଆଲୋଚନା କରିବା କିମ୍ବା ଗନ୍ତବ୍ୟ ଯାଞ୍ଚ ସମୟରେ ବିଫଳତା ହୋଇଛି କି ଦେଖନ୍ତୁ।
ପ୍ରତ୍ୟେକ ଫଳକୁ କେବଳ ସ୍ଥିତି ଯାଞ୍ଚରେ ସୀମିତ କରନ୍ତୁ ନାହିଁ
କେବଳ http_code ସଞ୍ଚୟ କରୁଥିବା ସ୍କ୍ରିପ୍ଟ ପରିବହନ ତ୍ରୁଟି ହରାଇଦିଏ। ପ୍ରକ୍ରିୟାର ଫଳ ଏବଂ ସମ୍ବେଦନଶୀଳ ତଥ୍ୟ ହଟାଯାଇଥିବା ତ୍ରୁଟି ବାର୍ତ୍ତା ମଧ୍ୟ ରଖନ୍ତୁ। ଅନ୍ୟପଟେ, ଉପଯୁକ୍ତ fail ବିକଳ୍ପ ନ ବ୍ୟବହାର କଲେ ୱେବସାଇଟ୍ ତ୍ରୁଟି ସ୍ଥିତି ଫେରାଇଲେ ମଧ୍ୟ curl ସ୍ଥାନାନ୍ତର ସଫଳ ଭାବେ ଶେଷ କରିପାରେ। HTTP ପ୍ରତିକ୍ରିୟା ଓ କ୍ଲାଏଣ୍ଟ ଚାଲିବାର ଫଳ ଭିନ୍ନ ପ୍ରଶ୍ନର ଉତ୍ତର ଦିଏ।
TLS ଯାଞ୍ଚ ବନ୍ଦ କରି କିମ୍ବା ମନଇଚ୍ଛା ହେଡର୍ ଯୋଡ଼ି 000 ଠିକ୍ କରିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ ନାହିଁ। ପ୍ରଥମେ କେଉଁ କାମ ଶେଷ ପ୍ରତିକ୍ରିୟା ପର୍ଯ୍ୟନ୍ତ ପହଞ୍ଚିଲା ନାହିଁ ତାହା ଚିହ୍ନଟ କରନ୍ତୁ।