cURL कमांड क्या है?
cURL एक कमांड-लाइन टूल है, जिसका इस्तेमाल URL से डेटा ट्रांसफ़र करने के लिए किया जाता है। यह कई तरह के नेटवर्क प्रोटोकॉल भी सपोर्ट करता है, और डेवलपर को जानकारी के आदान-प्रदान की टेस्टिंग और ऑटोमेशन में तथा नेटवर्क कनेक्शन डीबग करने में मदद करता है। cURL एक शक्तिशाली टूल है, जिसे डेवलपर और सिस्टम एडमिनिस्ट्रेटर इस्तेमाल कर सकते हैं, चाहे वे फ़ाइल ट्रांसफ़र कर रहे हों, कमांड लाइन में किसी HTTP इंटरफ़ेस को कॉल कर रहे हों, या यह जांच रहे हों कि उनका रिस्पॉन्स ज़रूरतों को पूरा करता है।
cURL क्या है?
cURL का मतलब “क्लाइंट URL” है। यह एक ओपन-सोर्स टूल और लाइब्रेरी है, जिसका इस्तेमाल किसी क्लाइंट और सर्वर के बीच डेटा ट्रांसफ़र करने के लिए किया जा सकता है। यह libcurl इंटीग्रेशन पर बना है और HTTP, HTTPS, FTP जैसे ज़्यादातर प्रोटोकॉल को सपोर्ट करता है। डेवलपर ऑटोमेटेड स्क्रिप्टिंग में इसका इस्तेमाल URL पर जानकारी के ट्रांसफ़र को ऑटोमेट करने, ऑथेंटिकेशन को संभालने और सर्वर पर तेज़ खोज करने के लिए करते हैं। चूंकि यह सीधे टर्मिनल से चल सकता है, इसलिए API टेस्टिंग और ऑटो टेस्ट में cURL काम आता है।
cURL कैसे काम करता है?
cURL आपके टर्मिनल से सर्वर को रिक्वेस्ट भेजकर और सर्वर का रिस्पॉन्स आपको वापस प्रिंट करके काम करता है। जब आप कोई कमांड चलाते हैं, तो cURL उस URL से कनेक्शन खोलता है, चुना गया HTTP मेथड और कोई भी हेडर या डेटा भेजता है, और जवाब का इंतज़ार करता है। इसके बाद यह रिस्पॉन्स — कोई वेब पेज, API का नतीजा, या कोई फ़ाइल — सीधे कमांड लाइन में देता है या उसे डिस्क पर सेव कर लेता है।
चूंकि यह एक ही कमांड के रूप में चलता है, इसलिए cURL को स्क्रिप्ट, शेड्यूल्ड जॉब और ऑटोमेटेड टेस्ट में डालना आसान है। रिक्वेस्ट भेजने के लिए आपको किसी ब्राउज़र या ग्राफ़िकल क्लाइंट की ज़रूरत नहीं होती, इसीलिए डेवलपर इसका इस्तेमाल API की टेस्टिंग करने, फ़ाइल डाउनलोड करने और यह देखने के लिए करते हैं कि सर्वर कैसे जवाब देता है।
cURL कमांड क्या करता है?
cURL रिक्वेस्ट किसी ख़ास URL पर जानकारी भेजती है या वहां से जानकारी लेती है। इससे वेब पेज रिक्वेस्ट, कमांड-लाइन HTTP रिक्वेस्ट, मल्टीपार्ट फ़ाइल अपलोड या API एंडपॉइंट टेस्टिंग की जा सकती है। कुछ डेवलपर cURL रिक्वेस्ट चलाकर यह देखते हैं कि GET, POST, PUT या DELETE जैसे अलग-अलग HTTP कमांड से भेजी गई जानकारी पर सर्वर का रिस्पॉन्स क्या रहता है, और सुरक्षित कनेक्शन के लिए SSL हैंडशेक वेरिफ़िकेशन करते हैं।
cURL कमांड का सिंटैक्स
cURL कमांड का बेसिक सिंटैक्स एक आसान पैटर्न पर चलता है:
curl [options] [URL]
कमांड की शुरुआत curl कीवर्ड से होती है, ऑप्शन (जैसे -i या -d) तय करते हैं कि रिक्वेस्ट कैसे काम करती है, और URL वह पता है जहां आप पहुंचना चाहते हैं। ऑप्शन और URL को लगभग किसी भी क्रम में मिलाया जा सकता है, और एक ही रिक्वेस्ट में आप कई ऑप्शन इस्तेमाल कर सकते हैं। अगर आप curl को किसी URL के साथ और बिना किसी ऑप्शन के चलाते हैं, तो cURL एक सादी GET रिक्वेस्ट भेजता है और रिस्पॉन्स बॉडी प्रिंट करता है।
आम cURL कमांड और ऑप्शन
cURL ऑप्शन (जिन्हें फ़्लैग या पैरामीटर भी कहा जाता है) यह बदलते हैं कि रिक्वेस्ट कैसे भेजी जाती है और cURL क्या लौटाता है। इन्हें आप curl कीवर्ड के बाद और URL से पहले जोड़ते हैं। नीचे वे ऑप्शन दिए गए हैं जिन्हें डेवलपर सबसे ज़्यादा इस्तेमाल करते हैं।
|
ऑप्शन |
यह क्या करता है |
उदाहरण |
|---|---|---|
|
|
आउटपुट में बॉडी के साथ रिस्पॉन्स हेडर भी शामिल करता है |
|
|
|
रिक्वेस्ट बॉडी में डेटा भेजता है (डिफ़ॉल्ट रूप से रिक्वेस्ट को POST बना देता है) |
|
|
|
HTTP मेथड सेट करता है, जैसे GET, POST, PUT या DELETE |
|
|
|
कस्टम रिक्वेस्ट हेडर जोड़ता है |
|
|
|
आउटपुट को आपके चुने हुए नाम वाली फ़ाइल में सेव करता है |
|
|
|
आउटपुट को रिमोट फ़ाइल के अपने नाम से सेव करता है |
|
|
|
आख़िरी URL तक रीडायरेक्ट फ़ॉलो करता है |
|
|
|
ऑथेंटिकेशन के लिए यूज़रनेम और पासवर्ड भेजता है |
|
|
|
साइलेंट मोड में चलता है और प्रोग्रेस तथा एरर आउटपुट छिपा देता है |
|
|
|
रिक्वेस्ट और रिस्पॉन्स को पूरी तरह डीबग करने के लिए वर्बोस मोड चालू करता है |
|
|
|
SSL सर्टिफ़िकेट की जांच छोड़कर असुरक्षित कनेक्शन की अनुमति देता है |
|
|
|
सर्वर एरर पर एरर पेज दिखाने के बजाय चुपचाप फ़ेल हो जाता है |
|
ऑप्शन की पूरी लिस्ट कभी भी देखने के लिए टर्मिनल में curl -h (या curl --help) चलाएं।
curl -i क्या करता है?
-i ऑप्शन cURL को बताता है कि वह आउटपुट में बॉडी के साथ रिस्पॉन्स हेडर भी शामिल करे। सिर्फ़ पेज या API रिस्पॉन्स लौटाने के बजाय, cURL पहले HTTP स्टेटस लाइन, फिर Content-Type और Set-Cookie जैसे हेडर, और उसके बाद बॉडी प्रिंट करता है। यह तब काम आता है जब आपको यह जांचना हो कि सर्वर असल में क्या लौटाता है, किसी API को डीबग करना हो, या किसी स्टेटस कोड की पुष्टि करनी हो।
curl -i https://api.example.com/data
अगर आपको सिर्फ़ हेडर चाहिए और बॉडी नहीं, तो -I (बड़ा अक्षर) इस्तेमाल करें।
cURL का इस्तेमाल
CLI पर कमांड भेजने के लिए cURL मुफ़्त में डाउनलोड किया जा सकता है। यह टूल टेस्टिंग, जानकारी के ट्रांसफ़र और सर्वर कम्युनिकेशन के ऑटोमेशन को आसान बनाता है। बताए गए प्रॉक्सी पतों पर रिक्वेस्ट भेजकर cURL, प्रॉक्सी सर्वर के ज़रिए भी काम कर सकता है, जिससे प्रतिबंधित नेटवर्क तक पहुंचते समय सुरक्षित कनेक्शन और ऑथेंटिकेशन संभव होते हैं।
cURL कमांड के उदाहरण
यहां कुछ आम cURL कमांड दिए गए हैं, जिन्हें आप कॉपी करके अपने हिसाब से बदल सकते हैं:
|
काम |
कमांड |
|---|---|
|
बेसिक GET रिक्वेस्ट भेजना |
|
|
डेटा के साथ POST रिक्वेस्ट भेजना |
|
|
रिस्पॉन्स हेडर और बॉडी देखना |
|
|
रिस्पॉन्स को फ़ाइल में सेव करना |
|
|
रीडायरेक्ट फ़ॉलो करना |
|
|
ऑथेंटिकेशन के साथ रिक्वेस्ट भेजना |
|
|
रिक्वेस्ट को विस्तार से डीबग करना |
|
जब आपको किसी दूसरी लोकेशन या IP से टेस्ट करना हो, तो आप cURL से GET रिक्वेस्ट भी भेज सकते हैं या cURL को प्रॉक्सी के ज़रिए चला सकते हैं।
cURL बनाम wget
संक्षेप में: जब आपको किसी API के साथ काम करना हो या किसी रिस्पॉन्स की जांच करनी हो, तो cURL चुनें, और जब आपका मुख्य लक्ष्य थोक में फ़ाइल डाउनलोड करना हो, तो wget चुनें।
cURL और wget दोनों डेटा ट्रांसफ़र करने वाले कमांड-लाइन टूल हैं, लेकिन ये थोड़ी अलग ज़रूरतों को पूरा करते हैं। cURL रिक्वेस्ट भेजने और रिस्पॉन्स पढ़ने के लिए बना है, इसलिए API टेस्टिंग, कस्टम हेडर और ऑथेंटिकेशन के लिए यह पहली पसंद है। wget फ़ाइल डाउनलोड करने के लिए बना है और पूरी साइट डाउनलोड करने के लिए लिंक फ़ॉलो कर सकता है, इसलिए रिकर्सिव डाउनलोड के लिए यह ज़्यादा मज़बूत है।
अक्सर पूछे जाने वाले सवाल
cURL का मतलब क्या है?
cURL का मतलब “क्लाइंट URL” है। यह किसी URL पर डेटा भेजने और वहां से डेटा लेने के लिए बना एक ओपन-सोर्स कमांड-लाइन टूल और लाइब्रेरी (libcurl) है।
cURL कमांड का इस्तेमाल किस लिए होता है?
इसका इस्तेमाल नेटवर्क पर डेटा भेजने और पाने के लिए किया जाता है — API की टेस्टिंग करने, फ़ाइल डाउनलोड करने, HTTP रिक्वेस्ट भेजने, सर्वर के रिस्पॉन्स जांचने और स्क्रिप्ट के अंदर इन कामों को ऑटोमेट करने के लिए।
क्या cURL इस्तेमाल करने के लिए मुफ़्त है?
हां। cURL मुफ़्त और ओपन-सोर्स है, और यह ज़्यादातर macOS और Linux सिस्टम पर तथा Windows के नए वर्शन पर पहले से इंस्टॉल होकर आता है।
curl -k क्या करता है?
-k ऑप्शन cURL को किसी सर्वर से कनेक्ट करने देता है, चाहे उसका SSL सर्टिफ़िकेट वेरिफ़ाई न हो सके। लोकल टेस्टिंग के लिए यह सुविधाजनक है, लेकिन प्रोडक्शन में इससे बचना चाहिए, क्योंकि यह एक सुरक्षा जांच छोड़ देता है।
curl -s क्या करता है?
-s (साइलेंट) ऑप्शन प्रोग्रेस मीटर और एरर मैसेज छिपा देता है, इसलिए cURL सिर्फ़ रिस्पॉन्स प्रिंट करता है। आउटपुट साफ़ रखने के लिए इसे अक्सर स्क्रिप्ट में इस्तेमाल किया जाता है।
cURL कमांड कैसे चलाएं?
टर्मिनल खोलें (Windows पर Command Prompt या PowerShell, macOS और Linux पर Terminal), अपना curl कमांड टाइप करें और Enter दबाएं। cURL नतीजा सीधे टर्मिनल में प्रिंट करता है।
