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 दुरुस्त करण्याचा प्रयत्न करू नका. आधी कोणती क्रिया अंतिम प्रतिसादापर्यंत पोहोचली नाही ते शोधा.