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 सच्याउने प्रयास नगर्नुहोस्। पहिले कुन काम अन्तिम प्रतिक्रियासम्म पुगेन भनेर पत्ता लगाउनुहोस्।