कर्ल

From Vigyanwiki
cURL
Original author(s)Daniel Stenberg[1]
Developer(s)Contributors to the cURL project
Initial release1996; 28 years ago (1996)[2]
Stable release
Script error: The module returned a nil value. It is supposed to return an export table. / Script error: The module returned a nil value. It is supposed to return an export table.
Preview release
Script error: The module returned a nil value. It is supposed to return an export table. / Script error: The module returned a nil value. It is supposed to return an export table.
Written inC
PlatformCross-platform
Typeweb client (supports e.g. HTTPS, and FTP)
Licensecurl license[3][4] (inspired on the MIT License[5])

कर्ल (उच्चारण की तरह कर्ल ,[6] UK: [kəːl], US: [kɝl]) एक कंप्यूटर सॉफ्टवेयर परियोजना है जो विभिन्न नेटवर्क प्रोटोकॉल का उपयोग करके डेटा स्थानांतरित करने के लिए एक पुस्तकालय (libcurl) और कमांड लाइन उपकरण (कर्ल) प्रदान करता है। इसका नाम "यूआरएल के लिए ग्राहक" के लिए है।[7]

इतिहास

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

libcurl

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

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


कर्ल

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

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

  1. निर्देशिका जहां कर्ल प्रोग्राम स्थित है।
  2. वर्तमान कार्यशील निर्देशिका।
  3. विंडोज सिस्टम निर्देशिका।
  4. विंडोज निर्देशिका।
  5. %PATH% पर्यावरण चर में निर्दिष्ट निर्देशिकाएँ।[18]

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

उदाहरण

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

$ curl www.example.com

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

$ curl -o example.html www.example.com

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

यह भी देखें

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

संदर्भ

  1. Stenberg, Daniel (20 March 2015). "curl, 17 years old today". daniel.haxx.se. Retrieved 20 March 2015.
  2. 2.0 2.1 "History of curl - How curl Became Like This". curl. Archived from the original on September 30, 2017. Retrieved November 17, 2016. Daniel simply adopted an existing command-line open-source tool, httpget, that Brazilian Rafael Sagula had written and recently release version 0.1 of. After a few minor adjustments, it did just what he needed. […] HttpGet 1.0 was released on April 8th 1997 with brand new HTTP proxy support. […] Stenberg was spending time writing an IRC bot for an Amiga related channel on EFnet. He then came up with the idea to make currency-exchange calculations available to Internet Relay Chat (IRC) users.
  3. "curl License". spdx.org.
  4. "curl - copyright". curl.se.
  5. "curl - copyright". curl.se. Retrieved 2023-05-02.
  6. "curl - Frequently Asked Questions". curl.se.
  7. Stenberg, Daniel. "Origin of the name". curl.se (in English). Retrieved 2021-03-27.
  8. "कर्ल का इतिहास" (in English). fossies.org. Archived from the original on September 29, 2021. Retrieved May 11, 2021. {{cite web}}: |archive-date= / |archive-url= timestamp mismatch (help)
  9. "Changelog" (in English). 4 January 2020. Retrieved 4 January 2020. The first curl release. The tool was named urlget before this. And httpget before that.
  10. Stenberg, Daniel (4 January 2020). "Restored complete curl changelog" (html). Haxx Se. Retrieved 2 January 2020.
  11. Jones, M. Tim (8 September 2009). "Conversing through the Internet with cURL and libcurl - Using libcurl with C and Python". IBM Developerworks. Archived from the original on 14 April 2015. Retrieved 12 September 2018.
  12. Stenberg, Daniel (5 August 2019). "http09: disable HTTP/0.9 by default in both tool and library". GitHub. Archived from the original (html) on 5 August 2019. Retrieved 5 August 2019. As the plan has been laid out in Deprecated. Update docs accordingly and verify in test 1174.
  13. 13.0 13.1 "कर्ल - कैसे उपयोग करें". curl.se.
  14. "Open Source Components for the Native SDK for BlackBerry Tablet OS". Archived from the original on 2013-01-27. Retrieved 2017-09-19.
  15. "Tar and Curl Come to Windows!". techcommunity.microsoft.com. March 22, 2019.
  16. "libcurl बाइंडिंग". curl.se.
  17. "curl supports rustls | daniel.haxx.se" (in English). Retrieved 2022-01-01.
  18. "curl - SSL CA Certificates". curl.se.
  19. Del, Ryan (2 March 2018). "Comandi equivalenti a cURL e Wget per Windows command-line con Powershell" [cURL and Wget equivalent commands for Windows command-line with Powershell] (html). Ryadel (in italiano). Retrieved 4 January 2020. Per emulare il comportamento del comando Linux cURL, è sufficiente creare un file cURL.ps1 contenente la seguente riga di codice


बाहरी संबंध