ما هو الفرق بين wget مقابل curl؟

What Is Difference Between Wget Vs Curl



نحتاج غالبًا إلى تنزيل الملفات من الخوادم البعيدة إلى أجهزتنا المحلية. على سطح مكتب رسومي ، يمكننا استخدام متصفح واجهة المستخدم الرسومية والنقر فوق زر التنزيل. ومع ذلك ، في الجهاز الطرفي ، نحتاج إلى استخدام الأدوات التي تم تطويرها للمحطة ، عند تنزيل الملفات من الجهاز ، غالبًا ما تظهر أربع أدوات: لفة و كتف و wget ، و aria2 . بينما قد لا يكون كل من axel و aria2 معروفين جيدًا ، فإن معظم مستخدمي المحطة الطرفية يعرفون curl و wget.

في هذا البرنامج التعليمي ، سنلقي نظرة على curl و wget ، وكيفية البدء ، والأهم من ذلك ، الاختلافات بينهما.







ما هو cURL؟

cURL هي أداة مساعدة مجانية ومفتوحة المصدر لسطر الأوامر تتيح للمستخدمين نقل البيانات من جهاز بعيد إلى آخر بأقل تفاعل من المستخدم أو بدونه. ينتشر استخدام CURL في أجهزة مثل أجهزة التوجيه والطابعات والهواتف والأجهزة اللوحية ومشغلات الوسائط والمزيد.



وهو يدعم التنزيل والتحميل باستخدام بروتوكولات مثل HTTP / HTTPS و FTP و SFTP و SCP و IMAP و LDAP / LDAPS و SMB / SMBS و TELNET و POP3 و GOPHER وغيرها الكثير.



يوفر cURL أيضًا وكلاء ، واستئناف عمليات النقل ، ومصادقة المستخدم ، وشهادات SSL ، وغير ذلك الكثير.





ما هو wget؟

GNU Wget ، المعروفة باسم wget ، هي أداة مساعدة مجانية لسطر الأوامر لنقل الملفات باستخدام HTTP / HTTPS و FTP و FTPS. يوفر ميزات مثل التنزيلات العودية والتحكم في النطاق الترددي واستئناف عمليات النقل التي تم إحباطها وتنزيلات الخلفية وملفات النسخ المتطابقة والأدلة وغيرها الكثير.

كيفية تثبيت cURL و Wget؟

cURL و wget من الأدوات الشائعة المتوفرة بسهولة في توزيعات Linux الرئيسية ؛ إذا لم يكن لديك أي من الأداتين مثبتين ، يمكنك استخدام الأوامر أدناه للتثبيت:



ديبيان / أوبونتو:

# تثبيت cURL

سودو تثبيت apt-getلفة

# تثبيت wget

سودو تثبيت apt-get wget

القوس / مانجارو:

# تثبيت cURL

سودوبكمانلفة

# تثبيت wget

سودوبكمان wget

REHL / CentOS / فيدورا:

# تثبيت cURL

سودو يم التثبيتلفة

سودوdnfتثبيتلفة

# تثبيت wget

سودو يم التثبيت wget

سودوdnfتثبيت wget

كيفية استخدام cURL و Wget (أمثلة على حالات الاستخدام)؟

لضمان فهمك لأوجه التشابه والاختلاف بين cURL و wget ، من الجيد إلقاء نظرة على بعض الأمثلة:

بروتوكولات HTTP / HTTPS:

يدعم كل من cURL و wget بروتوكولات HTTP و HTTPS. ومن ثم ، إذا قمنا بتنزيل موقع ويب مثل linuxhint.com:

حليقة https://linuxhint.com-أوlinuxhint.html

حليقة https://linuxhint.com-أوlinuxhint.html

٪المجموع٪تم الاستلام٪Xferd متوسط ​​سرعة الوقت الوقت الحالي

تحميل Dload إجمالي السرعة اليسرى المستهلكة

100256k0256k0 0166 كيلو0-: -: -0: 00: 01 -: -: - 166 ألف

بشكل افتراضي ، سيطبع cURL محتويات مورد الويب في الجهاز. نستخدم العلامة -o لإعادة توجيه الإخراج إلى ملف.

ينطبق ما يلي على wget:

wgethttps://linuxhint.com

--2021-06-2005:09:أربعة خمسة- https://linuxhint.com/

حل موقع linuxhint.com(linuxhint.com)... 104.21.58.234، 172.67.209.252،2606:4700:3033::6815:3aea, ...

الاتصال بـ linuxhint.com(linuxhint.com)|104.21.58.234|:443... متصل.

تم إرسال طلب HTTP ، في انتظار الاستجابة ...200نعم

الطول: غير محدد[نص/لغة البرمجة]

حفظ في: 'index.html'

index.html

[ <=> ]256.25K 506KB/سفي0.5 ثانية

2021-06-عشرين05:09:46 (506كيلو بايت/س)- تم حفظ 'index.html'[262396]

من ناحية أخرى ، يحفظ Wget المورد المطلوب في ملف.

من الجيد ملاحظة أن كلتا الأداتين تقومان بتنزيل المورد. توضح تفاصيل ls للملفين كلا أحجام الملفات.

$ls -الindex.html linuxhint.html

-rw-rw-r-- 1لينوكسينت لينوكسينت262396يونيو19 خمسة عشر:خمسونindex.html

-rw-rw-r-- 1لينوكسينت لينوكسينت262396يونيوعشرين05:07 linuxhint.html

بروتوكول FTP:

يدعم كل من cURL و wget التنزيلات على بروتوكولات FTP. ومع ذلك ، يدعم cURL التحميل إلى بروتوكول نقل الملفات.

استخدم الأمر أدناه لتنزيل الملفات من خادم FTP باستخدام wget:

wget --المستعمل= دبيان--كلمه السر= 'دبيان' بروتوكول نقل الملفات://192.168.0.112/backup.zst

wget --المستعمل= دبيان--كلمه السر='ديبيان'بروتوكول نقل الملفات://192.168.0.112/backup.zst

--2021-06-2005:29: 06-- بروتوكول نقل الملفات (ftp)://192.168.0.112/backup.zst

=>'backup.zst'

الاتصال بـ 192.168.0.112:واحد وعشرين... متصل.

تسجيلفي كماديبيان ... تسجيلفي!

==>SYST ... انتهى. ==>الأشخاص ذوي الإعاقة ... انتهى.

==>النوع الأول ... انتهيت. ==>CWD غير مطلوب.

==>SIZE backup.zst ... انتهى.

==>PASV ... انتهى. ==>RETR backup.zst ... انتهى.

backup.zst

[ <=> ] 0--.- كيلو بايت/سفي0 ثانية

2021-06-عشرين05:29: 06(0.00ب/س)- تم حفظ 'backup.zst'[0]

باستخدام الضفيرة ، أضف ملف-uعلم كـ:

لفة-uدبيان: ديبيان ftp://192.168.0.112/backup.zst '-أوbackup.zst

لفة-uدبيان: دبيان'ftp://192.168.0.112/backup.zst' -أوbackup.zst

٪المجموع٪تم الاستلام٪Xferd متوسط ​​سرعة الوقت الوقت الحالي

تحميل Dload إجمالي السرعة اليسرى المستهلكة

0 0 0 0 0 0 0 0-: -: - -: -: - -: -: -0

لتحميل ملفملفإلىبروتوكول نقل الملفاتمع الضفيرة ، نستخدم ملفالخيار على النحو التالي:

لفة-uدبيان: دبيانbackup1.zst بروتوكول نقل الملفات://192.168.0.112/بروتوكول نقل الملفات/

تأكد من وجود الدليل وأن المستخدم لديه أذونات الكتابة إليه.

ملاحظة: على الرغم من أن cURL يدعم مجموعة متنوعة من البروتوكولات ، إلا أنه لا يوفر تنزيلات متكررة. من ناحية أخرى ، يدعم Wget التنزيلات المتكررة باستخدام الخيار –recursive حيث يوفر كل من بروتوكولي HTTP / HTTPS و FTP / FTPS هذه الوظيفة.

أوجه التشابه بين wget و cURL

الآن لتزيين الكيك:

  • تدعم كلتا الأداتين البروتوكولات القياسية مثل HTTP و HTTPS و FTP و FTPS.
  • كلتا الأداتين تقومان بتنزيل الملفات من الإنترنت.
  • تدعم كلتا الأداتين ملفات تعريف ارتباط HTTP.
  • كلا الأداتين تدعم الإخراج إلى ملف.
  • كل من الأدوات المجانية والمطورة بشكل نشط.
  • تدعم كلتا الأداتين استئناف عمليات النقل.
  • كلا الأداتين تدعم HTTP POST.

الاختلافات بين wget و cURL

فيما يلي بعض الاختلافات بين curl و wget:

  • Wget هي أداة نقل بسيطة ، بينما تقدم curl أكثر من ذلك بكثير.
  • يوفر Curl مكتبة libcurl ، والتي يمكن توسيعها إلى تطبيقات واجهة المستخدم الرسومية. Wget ، من ناحية أخرى ، هو أداة مساعدة بسيطة لسطر الأوامر.
  • يدعم Wget بروتوكولات أقل مقارنة بـ cURL.
  • التنزيلات المتكررة غير مدعومة في curl.
  • Wget متاح أصلاً في أنظمة Linux ، بينما يتوفر cURL بسهولة في أنظمة Windows.
  • يدعم cURL عمليات نقل متوازية متعددة.
  • ينفذ cURL عمليات فك ضغط HTTP المشفرة للنقل ، بينما لا يقوم wget.
  • يدعم cURL HTTP ثنائي الاتجاه بينما يقدم wget طريقة HTTP POST عادية.
  • يدعم cURL المزيد من طرق مصادقة HTTP مقارنةً بـ wget.
  • Wget لا يدعم SOCKS.
  • يتطلب Wget تثبيت gnulib.
  • على عكس curl ، يتم تمكين ميزات مثل ملفات تعريف الارتباط والطوابع الزمنية وعمليات إعادة التوجيه التالية بشكل افتراضي في wget. يتطلب cURL تحديد كل منها بشكل صريح.

استنتاج

ركز هذا البرنامج التعليمي على أوجه التشابه والاختلاف بين cURL. على الرغم من أنه قد يبدو أن cURL هو الخيار الأفضل ، إلا أن هناك حالات يكون فيها wget هو الخيار الأفضل.

نصيحتي لك هي اختيار ما يناسبك.