कर्ल और विग के बीच अंतर क्या है? [बन्द है]


38

इन दोनों का उपयोग curlऔर wgetफ़ाइलों को डाउनलोड करने के लिए उपयोग किया जाता है, आदि।


1
"उचित उपयोग" को परिभाषित करें
— एबी

12
मत के बारे में राय-आधारित के रूप में बंद करने के बारे में: दो उपकरणों के बीच अंतर के बारे में पूछना राय-आधारित उत्तरों को कैसे प्रोत्साहित करता है?
— माइकल मार्टिन-स्मकर

1
@ MichaelMartin-Smucker "मान लीजिए कि मुझे एक वेब पेज डाउनलोड करने की आवश्यकता है, जो www.google.com कहता है, क्या मुझे wget या कर्ल दिखना चाहिए?" क्या है कि अगर राय आधारित नहीं है?
— मुरु

2
@ एमआरयू, यह इस बात पर निर्भर करता है कि "वेब पेज डाउनलोड करें" से आपका क्या मतलब है। यदि आपका मतलब है कि http अनुरोध भेजें और परिणाम वापस प्राप्त करें, तो कर्ल आदर्श है। यदि आप इसका मतलब है कि एक पृष्ठ डाउनलोड करते हैं, तो अन्य पेज इसे लिंक करते हैं, और संबंधित संपत्ति, कर्ल काम नहीं करेंगे, और एकमात्र विकल्प है। उनके बीच तथ्यात्मक अंतर हैं जो इस राय को आधारित नहीं बनाते हैं।
— बारबेक्यू

3
@ मुरू मुझे लगता है कि हमारे पास सवाल के पीछे की भावना की अलग-अलग व्याख्याएँ हैं। मेरी व्याख्या में, भावना यह है: "मैंने इन दो उपकरणों के बारे में सुना है जो एक ही काम करते हैं। उनके बीच क्या अंतर है, और मुझे एक दूसरे पर कब चुनना चाहिए? इस विशिष्ट मामले में क्या है?" ... जो मुझे एक उचित प्रश्न लगता है।
— माइकल मार्टिन-स्मकर

जवाबों:


33

"उचित उपयोग" परिभाषित करने के बाद, उपयोग करें wget।

क्यूं कर? इसीलिए:

पुनरावर्ती! कर्ल की तुलना में wget का प्रमुख मजबूत पक्ष इसकी पुनरावृत्ति को डाउनलोड करने की क्षमता है, या यहां तक ​​कि बस एक दूरस्थ संसाधन से संदर्भित सब कुछ डाउनलोड करना है, यह एक HTML पृष्ठ या एफ़टीपी निर्देशिका सूची हो।


बेशर्म यहाँ से कॉपी किया

curl

  • पुस्तकालय । curlद्वारा संचालित है libcurl- एक स्थिर प्लेटफ़ॉर्म के साथ एक क्रॉस-प्लेटफ़ॉर्म लाइब्रेरी जो प्रत्येक और सभी द्वारा उपयोग की जा सकती है। यह अंतर प्रमुख है क्योंकि यह आंतरिक रूप से चीजों को करने के लिए एक पूरी तरह से अलग दृष्टिकोण बनाता है। लाइब्रेरी को "मात्र" कमांड लाइन टूल की तुलना में बनाना थोड़ा कठिन है।

  • पाइप । curlपारंपरिक यूनिक्स catकमांड की तरह अधिक काम करता है , यह अधिक सामान भेजता है stdout, और stdin"सब कुछ एक पाइप है" तरीके से अधिक पढ़ता है। समान एनालॉग का उपयोग करके wgetअधिक पसंद किया जाता है cp।

  • एकल शॉट । curlमूल रूप से डेटा के एकल-शॉट स्थानांतरण करने के लिए बनाया गया है। यह केवल उन URL को स्थानांतरित करता है जो उपयोगकर्ता निर्दिष्ट करता है, और इसमें कोई पुनरावर्ती डाउनलोडिंग तर्क नहीं है और न ही किसी भी प्रकार का HTML पार्सर है।

  • अधिक प्रोटोकॉल । curlFTP, FTPS, गोफर, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, POP3, IMAP, SMB / CIFS, SMTP, RTMP और RTSP का समर्थन करता है। Wget केवल HTTP, HTTPS और FTP का समर्थन करता है।

  • अधिक पोर्टेबल । curlकी तुलना में अधिक प्लेटफार्मों के कई पर बनाता है और चलाता है wget। उदाहरण के लिए: ओएस / 400, टीपीएफ और अन्य "विदेशी" प्लेटफॉर्म जो सीधे यूनिक्स क्लोन नहीं हैं।

  • अधिक एसएसएल लाइब्रेरी और एसएसएल समर्थन । curlग्यारह (11!) विभिन्न एसएसएल / टीएलएस पुस्तकालयों में से एक के साथ बनाया जा सकता है, और यह प्रोटोकॉल विवरण के लिए अधिक नियंत्रण और व्यापक समर्थन प्रदान करता है। curlसार्वजनिक कुंजी पिनिंग का समर्थन करता है।

  • एचटीटीपी प्रमाण । curlअधिक HTTP प्रमाणीकरण विधियों का समर्थन करता है, विशेष रूप से HTTP प्रॉक्सी पर: बेसिक, डाइजेस्ट, एनटीएलएम और नेगोशिएट

  • SOCKS । curlप्रॉक्सी एक्सेस के लिए कई SOCKS प्रोटोकॉल संस्करणों का समर्थन करता है

  • अप्रत्यक्ष । curlअपलोड करने और भेजने की क्षमता प्रदान करता है। wgetकेवल सादा HTTP POST सहायता प्रदान करता है।

  • HTTP मल्टीपार्ट / फॉर्म-डेटा भेजना , जो उपयोगकर्ताओं को HTTP "अपलोड" करने की अनुमति देता है और सामान्य रूप से ब्राउज़रों का अनुकरण करता है और एक व्यापक सीमा तक HTTP स्वचालन करता है।

  • curlgzipसामग्री-एन्कोडिंग का समर्थन करता है और फुलाता है और स्वचालित विघटन करता है

  • curl ऑफ़र और ट्रांसफ़ॉर्म-एनकोडेड HTTP के डीकंप्रेसन करता है, wget नहीं करता है

  • curl HTTP / 2 का समर्थन करता है और यह हैप्पी आईबॉल का उपयोग करके ड्यूल-स्टैक कनेक्ट करता है

  • बहुत अधिक डेवलपर गतिविधि । जबकि इस पर बहस की जा सकती है, मैं यहां तीन मैट्रिक्स पर विचार करता हूं: मेलिंग सूची गतिविधि, स्रोत कोड कम आवृत्ति और रिलीज आवृत्ति। इन दोनों परियोजनाओं का अनुसरण करने वाला कोई भी व्यक्ति यह देख सकता है कि कर्ल परियोजना की इन सभी क्षेत्रों में बहुत अधिक गति है, और ऐसा 10+ वर्षों से हो रहा है। Openhub पर तुलना करें


wget

  • wgetकेवल कमांड लाइन है। कोई पुस्तकालय नहीं है।

  • पुनरावर्ती ! wgetकर्ल की तुलना में प्रमुख मजबूत पक्ष इसकी पुनरावृत्ति को डाउनलोड करने की क्षमता है, या यहां तक ​​कि बस एक दूरस्थ संसाधन से संदर्भित सब कुछ डाउनलोड करने के लिए, यह एक HTML पृष्ठ या एफ़टीपी निर्देशिका सूची हो।

  • पुराना । wget1995 तक वापस आ गया है, जबकि curl1996 के अंत से पहले वापस ट्रैक नहीं किया जा सकता है।

  • जीपीएल । wget100% GPL v3 है। कर्ल एमआईटी लाइसेंस प्राप्त है।

  • GNU । wgetGNU प्रोजेक्ट का हिस्सा है और सभी कॉपीराइट FSF को सौंपे जाते हैं। कर्ल परियोजना पूरी तरह से स्टैंड-अलोन है और डैनियल के स्वामित्व वाले लगभग सभी कॉपीराइट वाले किसी भी संगठन के पालन-पोषण के साथ स्वतंत्र है।

  • wgetबिना किसी अतिरिक्त विकल्पों की आवश्यकता है बस, एक स्थानीय फाइल करने के लिए एक दूरस्थ यूआरएल डाउनलोड करने के लिए है, जबकि curlआवश्यकता है -oया -O।

  • wget कुकी डोमेन को संभालने के लिए सार्वजनिक प्रत्यय सूची का समर्थन करता है, कर्ल नहीं करता है।

  • wget SSL / TLS समर्थन के लिए केवल GnuTLS या OpenSSL का समर्थन करता है

  • wget HTTP प्रॉक्सी के आधार पर केवल मूलभूत प्रकार के रूप में केवल मूल स्थिति का समर्थन करता है

  • wget SOCKS का कोई समर्थन नहीं है

  • समय से पहले टूटे हुए स्थानांतरण से उबरने और डाउनलोड जारी रखने की इसकी क्षमता का कर्ल में कोई प्रतिपक्ष नहीं है।

  • wget एक qwerty कीबोर्ड पर केवल बाएं हाथ का उपयोग करने में टाइप किया जा सकता है!


1
हां, मिररिंग के लिए विग बढ़िया है!
— 21

1
"कर्ल परियोजना पूरी तरह से स्टैंड-अलोन है और स्वतंत्र है जिसमें डैनियल के स्वामित्व वाले लगभग सभी कॉपीराइट वाले किसी भी संगठन का पालन-पोषण नहीं है।" यकीन नहीं होता कि यह बुरी बात है ...
— बारबेक्यू

"समय से पहले टूटे हुए स्थानांतरण से उबरने और डाउनलोड जारी रखने की इसकी क्षमता का कर्ल में कोई प्रतिपक्ष नहीं है।" क्या मैंने इस वाक्य को गलत समझा? curl -C -टूट रहा डाउनलोड जारी नहीं है ?
— सियुआन रेन

1
आप wget की सलाह क्यों देते हैं ? तुलनाओं को देखने के बाद जो आपने खुद लिखा था, कर्ल लगता है कि कहीं अधिक बेहतर है। wget can be typed in using only the left hand on a qwerty keyboard!, डब्ल्यूटीएफ ?? wget requires no extra options to simply download a remote URL to a local file, while curl requires -o or -O.
— अनमोल सिंह जग्गी

2
आकार मायने रखता है: एक ताजा उबंटू छवि पर, wget आकार 2M बनाम कर्ल 5M पैक है (डिप्स के साथ, एक्स 3 कुल अनपैकड)
— एरन डब्ल्यू

19

वहाँ कई उपकरण है कि जैसे डाउनलोड कर सकते हैं कर रहे हैं curl, snarf, wget, pavuk, fget, fetch, lftp, aria2, HTTrackआदि आपकी आवश्यकता और जो आप डाउनलोड करने के साथ-साथ उपयोग करना चाहते हैं की सुविधा के अनुसार यह प्रयोग करें। सुविधा तालिका जांचें और तदनुसार उपयोग करें।

कर्ल:

  • कर्ल समर्थन अधिक प्रोटोकॉल FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, POP3, IMAP, SMTP, RTMP और RTSP
  • अधिक SSL पुस्तकालयों का कर्ल समर्थन करते हैं
  • कर्ल अधिक HTTP प्रमाणीकरण विधियों का समर्थन करता है, विशेष रूप से HTTP प्रॉक्सी पर: बेसिक, डाइजेस्ट, एनटीएलएम और नेगोशिएट
  • कर्ल libcurl -a क्रॉस-प्लेटफॉर्म लाइब्रेरी द्वारा संचालित है जिसमें एक स्थिर एपीआई है जो प्रत्येक और सभी द्वारा उपयोग किया जा सकता है

Wget:

  • जबकि wget HTTP, HTTPS और FTP का समर्थन करता है
  • W SSL या TLS समर्थन के लिए केवल GnuTLS या OpenSSL का समर्थन करता है
  • WTP HTTP प्रॉक्सी पर केवल एकमात्र प्रकार के रूप में केवल मूल स्थिति का समर्थन करता है
  • Wget केवल कमांड लाइन टूल है, इसमें कोई लाइब्रेरी नहीं है।

अधिक जानकारी के लिए महत्वपूर्ण संसाधन:


"wget ​​कमांड लाइन टूल है केवल इसे लाइब्रेरी जानते हैं।" मैं उस लाइन को नहीं समझता।
— लुसियो

3

उनके पास आम तौर पर बहुत अधिक कार्यक्षमता है, लेकिन curlअधिक विकल्प हैं। इसके लिए wgetकभी-कभी पत्ती के माध्यम से पर्याप्त हो सकता है man wget, लेकिन इसके लिए curlमुझे एक ब्राउज़र में इस वेबपेज का अध्ययन करना होगा । मुझे विश्वास है कि आपका ब्राउज़र कुछ भी कर सकता है, curlसाथ ही कर सकता है।


2

विग और कर्ल के बीच एक और अंतर है जो मुझे लगता है कि महत्वपूर्ण है।

Wget एक स्टैंड-अलोन कमांड लाइन उपयोगिता है जो मुख्य रूप से इंटरनेट सामग्री को जल्दी और सरलता से प्राप्त करने के लिए है।

दूसरी ओर कर्ल मूल रूप से शक्तिशाली लिबक्रेल लाइब्रेरी के लिए एक टर्मिनल फ्रंट एंड है। Libcurl अपने सभी रूपों और स्वादों में URL के साथ काम करने के लिए बहुत शक्तिशाली उपकरण प्रदान करता है, और लगभग सभी भाषाओं और प्लेटफार्मों के लिए उपलब्ध है। कर्ल मूल रूप से आपको इस लाइब्रेरी को शेल स्क्रिप्ट में उपयोग करने की सुविधा देता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.