कर्ल

कर्ल (उच्चारण की तरह कर्ल, , ) एक कंप्यूटर सॉफ्टवेयर परियोजना है जो विभिन्न नेटवर्क प्रोटोकॉल का उपयोग करके डेटा स्थानांतरित करने के लिए एक  पुस्तकालय (libcurl) और  कमांड लाइन  उपकरण (कर्ल) प्रदान करता है। इसका नाम "यूआरएल के लिए ग्राहक" के लिए है।

इतिहास
सीयूआरएल (cURL) का पहली बार विमुक्ति 1996 में हुई। इसका पहला नाम httpget था, फिर यह urlget बना और वर्तमान नाम cURL अपनाया गया। मूल लेखक और प्रमुख डेवलपर स्वीडिश डेवलपर डेनियल स्टेनबर्ग हैं, जिन्होंने cURL बनाया क्योंकि वह IRC उपयोगकर्ताओं के लिए मुद्रा विनिमय दरों को लाना स्वचालित करना चाहते थे।

libcurl
libcurl एक निःशुल्क क्लाइंट-साइड URL स्थानांतरण लाइब्रेरी (कंप्यूटिंग) है, समर्थित कुकी (वेब), डीआईसीटी, एफ़टीपी, एफटीपीएस, गोफर (प्रोटोकॉल), एचटीटीपी|एचटीटीपी/1 (HTTP/2 और HTTP/3 समर्थन के साथ), HTTP POST, HTTP PUT, HTTP प्रॉक्सी टनलिंग, HTTPS, IMAP, Kerberos (प्रोटोकॉल), LDAP, MQTT, POP3, RTSP,  रीयल-टाइम मैसेजिंग प्रोटोकॉल ,  सुरक्षित प्रति , SMTP, और सर्वर संदेश ब्लॉक। पुस्तकालय फाइल यूआरआई स्कीम, एसएसएच फाइल ट्रांसफर प्रोटोकॉल, टेलनेट,  तुच्छ फ़ाइल स्थानांतरण प्रोटोकॉल , फाइल ट्रांसफर बायोडाटा, एफ़टीपी अपलोडिंग, एचटीटीपी फॉर्म-आधारित अपलोड,  HTTPS के  प्रमाणपत्र, एलडीएपीएस, प्रॉक्सी और उपयोगकर्ता-प्लस-पासवर्ड प्रमाणीकरण का समर्थन करता है। Libcurl लाइब्रेरी पोर्टेबल है। यह AIX, AmigaOS, Android (ऑपरेटिंग सिस्टम), सहित कई प्लेटफार्मों पर समान रूप से बनाता और काम करता है। BeOS, ब्लैकबेरी टैबलेट ओएस और ब्लैकबेरी 10, ओपन VMS, डार्विन (ऑपरेटिंग सिस्टम), डॉस, फ्रीबीएसडी, एचपी-यूएक्स, एचयूआरडी, आईओएस,  IRIX , लिनक्स, मैकओएस, नेटबीएसडी, नेटवेयर, ओपनबीएसडी, ओएस/2, क्यूएनएक्स न्यूट्रिनो,  जोखिम , सोलारिस (ऑपरेटिंग सिस्टम), सिम्बियन, Tru64, Ultrix, UnixWare और Microsoft Windows।

Libcurl लाइब्रेरी मुफ़्त, थ्रेड-सुरक्षित और IPv6 संगत है। C (प्रोग्रामिंग भाषा)/C++, Java (प्रोग्रामिंग भाषा), जूलिया (प्रोग्रामिंग भाषा) (साथ बंडल किया गया), PHP और Python (प्रोग्रामिंग भाषा) सहित 50 से अधिक कंप्यूटर भाषाओं के लिए भाषा बाइंडिंग उपलब्ध है। Libcurl पुस्तकालय GnuTLS, mbed TLS, नेटवर्क सुरक्षा सेवाओं, IBM i पर gskit, Windows पर सुरक्षा सहायता प्रदाता इंटरफ़ेस, macOS और iOS पर सुरक्षित परिवहन, ट्रांसपोर्ट लेयर सुरक्षा | OpenSSL, BoringSSL, libreSSL, AmiSSL, wolfSSL के माध्यम से SSL/TLS का समर्थन करता है। BearSSL और rustls.

कर्ल
कर्ल एक कमांड-लाइन उपकरण है जिसका उपयोग URL सिंटेक्स का उपयोग करके फ़ाइल्स सहित डेटा प्राप्त करने या भेजने के लिए किया जाता है। क्योंकि कर्ल libcurl का उपयोग करता है, इसलिए यह हर प्रोटोकॉल का समर्थन करता है जिसे libcurl समर्थन करता है।

कर्ल एचटीटीपीएस का समर्थन करता है और सुरक्षित प्रोटोकॉल जैसे एचटीटीपीएस की घोषणा करते समय डिफ़ॉल्ट रूप से एसएसएल प्रमाणपत्र सत्यापन करता है। जब कर्ल HTTPS के माध्यम से एक दूरस्थ सर्वर से जुड़ता है, तो यह दूरस्थ सर्वर प्रमाणपत्र प्राप्त करेगा, फिर अपने CA प्रमाणपत्र के विरुद्ध जाँच करें कि दूरस्थ सर्वर की वैधता सुनिश्चित करने के लिए दूरस्थ सर्वर वह है जो वह होने का दावा करता है। कुछ कर्ल पैकेज सीए प्रमाणपत्र  स्टोर फ़ाइल के साथ बंडल किए गए हैं। CA प्रमाणपत्र निर्दिष्ट करने के लिए कई विकल्प हैं जैसे --cacert और --capath. वह --cacert विकल्प का उपयोग CA प्रमाणपत्र संग्रह फ़ाइल के स्थान को निर्दिष्ट करने के लिए किया जा सकता है। Windows प्लेटफ़ॉर्म में, यदि CA प्रमाणपत्र फ़ाइल निर्दिष्ट नहीं है, तो कर्ल निम्नलिखित क्रम में CA प्रमाणपत्र फ़ाइल नाम "curl-ca-bundle.crt" की तलाश करेगा:
 * 1) निर्देशिका जहां कर्ल प्रोग्राम स्थित है।
 * 2) वर्तमान कार्यशील निर्देशिका।
 * 3) विंडोज सिस्टम निर्देशिका।
 * 4) विंडोज निर्देशिका।
 * 5) %PATH% पर्यावरण चर में निर्दिष्ट निर्देशिकाएँ।

यदि दूरस्थ सर्वर स्व-हस्ताक्षरित प्रमाणपत्र का उपयोग कर रहा है, या यदि दूरस्थ सर्वर प्रमाणपत्र CA प्रमाणपत्र फ़ाइल में सूचीबद्ध CA द्वारा हस्ताक्षरित नहीं है, तो कर्ल एक त्रुटि संदेश लौटाएगा। -k या --insecure विकल्प का उपयोग प्रमाणपत्र सत्यापन को छोड़ने के लिए किया जा सकता है। वैकल्पिक रूप से, यदि दूरस्थ सर्वर पर विश्वसनीयता है, तो दूरस्थ सर्वर CA प्रमाणपत्र को CA प्रमाणपत्र संग्रह फ़ाइल में जोड़ा जा सकता है।

उदाहरण
कर्ल का मूल उपयोग सीधे कमांड लाइन पर curl टाइप करके शामिल होता है, इसके बाद प्राप्त करने के लिए आउटपुट का URL टाइप किया जाता है:

कर्ल डिफ़ॉल्ट रूप से प्राप्त किए गए आउटपुट को सिस्टम पर निर्दिष्ट मानक आउटपुट (आमतौर पर टर्मिनल विंडो) में प्रदर्शित करता है। इसलिए अधिकांश सिस्टमों पर उपरोक्त कमांड को चलाने से, टर्मिनल विंडो में www.example.com स्रोत-कोड प्रदर्शित होगा। इसके बजाय फ़ाइल में आउटपुट को स्टोर करने के लिए -ओ ध्वज का उपयोग किया जा सकता है:

टूल के व्यवहार को बदलने वाले अधिक विकल्प उपलब्ध हैं।

यह भी देखें

 * कर्ल-लोडर - कर्ल पर आधारित एक ओपन-सोर्स टेस्टिंग टूल
 * libwww - एक शुरुआती लाइब्रेरी जो कमांड लाइन इंटरफेस के साथ आती है
 * PowerShell - iwr (Invoke-WebRequest) Windows PowerShell में कर्ल के समान कार्यक्षमता थी; क्लास वेब-क्लाइंट भी। * वेब क्रॉलर - एक इंटरनेट बॉट जो वेब को क्रॉल कर सकता है
 * Wget - समान कमांड-लाइन टूल जिसमें कोई संबद्ध लाइब्रेरी नहीं है लेकिन पुनरावर्ती डाउनलोड करने में सक्षम है

बाहरी संबंध

 * Comparison of curl vs other open source download tools
 * Comparison of curl vs other open source download tools