सफलता की आशा में इंतज़ार करते रहने की तुलना में जल्दी असफल हो जाना अक्सर बेहतर होता है।
जब वेब अनुरोध करने की बात आती है, तो समय महत्वपूर्ण होता है। किसी को भी किसी वेबपेज के लोड होने या सर्वर के प्रतिक्रिया देने का अंतहीन इंतजार करना पसंद नहीं है। यदि आप वेब से डेटा लाने के लिए कर्ल का उपयोग कर रहे हैं, तो आपको यह जानकर प्रसन्नता होगी कि आपके अनुरोधों में लगने वाले समय को सीमित करने के कई तरीके हैं।
यहां यह सुनिश्चित करने के लिए कर्ल अनुरोध समय को सीमित करने का तरीका बताया गया है कि आप अपने डेटा-प्राप्ति कार्यों पर नियंत्रण में रहें।
विधि 1: --अधिकतम-समय विकल्प का उपयोग करना
जबकि कर्ल कमांड चला रहा हूं, आप निर्दिष्ट कर सकते हैं -एम या --अधिकतम-समय अनुरोध पर सख्त समय सीमा निर्धारित करने का विकल्प। यह विकल्प आपको सेकंड में अधिकतम समय निर्दिष्ट करने देता है, जिसे आप टाइमआउट त्रुटि कोड (28) के साथ बाहर निकलने से पहले कमांड को लेने देना चाहते हैं:
curl --max-timе [sеconds] [URL]
आप दशमलव परिशुद्धता के साथ अधिकतम को परिभाषित कर सकते हैं, जहां 0.3 का मतलब 300 मिलीसेकंड, 5.46 का मतलब 5,460 मिलीसेकंड और 20 का मतलब 20 सेकंड है।
उदाहरण के लिए:
curl -o test.md --max-time 30 https://github.com/test/file1
यह कमांड दिए गए GitHub URL पर एक अनुरोध भेजता है। यह प्रतिक्रिया डेटा को test.md के रूप में सहेजेगा और अधिकतम 30 सेकंड के भीतर समाप्त कर देगा।
विधि 2: --कनेक्ट-टाइमआउट विकल्प का उपयोग करना
किसी होस्ट से कनेक्ट होने में कर्ल द्वारा खर्च किए जाने वाले समय को नियंत्रित करने के लिए, इसका उपयोग करें --कनेक्ट-टाइमआउट विकल्प। यह कनेक्शन चरणों को पूरा करने के लिए कर्ल के लिए अधिकतम समय सीमा निर्धारित करता है, जिसमें शामिल हैं डीएनएस लुकअप और बाद में टीसीपी, टीएलएस, या क्विक हैंडशेक।
यदि कर्ल आपके द्वारा निर्दिष्ट समय सीमा के भीतर कनेक्शन स्थापित नहीं कर सकता है, तो यह टाइमआउट त्रुटि कोड (28) के साथ बाहर निकल जाएगा:
curl --connect-timeout [seconds] [URL]
उदाहरण के लिए:
curl -o test.md --connect-time 20 https://github.com/test/file
यहां, कर्ल कमांड यूआरएल में निर्दिष्ट फ़ाइल को पुनर्प्राप्त करता है, इसे test.md के रूप में सहेजता है, और सर्वर के साथ कनेक्शन स्थापित करने के लिए 20-सेकंड की सीमा लागू करता है।
स्विफ्ट पुनर्प्राप्ति के लिए नियंत्रण कर्ल अनुरोध
ऐसी दुनिया में जहां समय ही पैसा है, कर्ल अनुरोध समय को सीमित करने में सक्षम होना एक आसान कौशल है। चाहे आप --connect-timeout या --max-time विकल्प चुनें, आप अपने डेटा-प्राप्ति कार्यों का प्रभार ले रहे हैं। तो, अब अंतहीन प्रतीक्षा नहीं, कुशल, नियंत्रित वेब अनुरोध करने का समय आ गया है।
अगली बार जब आप खुद को कर्ल अनुरोध पूरा होने की प्रतीक्षा करते हुए पाएं, तो इन तरीकों को याद रखें और कर्ल को अपनी शर्तों पर काम करने दें।