कर्ल

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

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

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 का समर्थन करता है और HTTPS जैसे सुरक्षित प्रोटोकॉल निर्दिष्ट होने पर डिफ़ॉल्ट रूप से SSL प्रमाणपत्र सत्यापन करता है। जब कर्ल 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