استخدام cURL لتنزيل الملفات البعيدة من سطر الأوامر
جدول المحتويات:
- تنزيل ملفات مطابقة تامة باستخدام curl -O
- حفظ ملف بعيد باسم مختلف باستخدام curl -o
- تنزيل ملفات متعددة بالتزامن مع curl
يمكن استخدام أداة سطر الأوامر curl القوية لتنزيل الملفات من أي خادم بعيد. يعرف مستخدمو سطر الأوامر منذ فترة طويلة أن هذا يمكن أن يكون مفيدًا لمجموعة متنوعة من المواقف ، ولكن لإبقاء الأمور بسيطة ، سيجد الكثيرون أن تنزيل ملف باستخدام curl يمكن أن يكون غالبًا بديلاً أسرع لاستخدام متصفح الويب أو عميل FTP من جانب واجهة المستخدم الرسومية لـ نظام التشغيل Mac OS X (أو نظام التشغيل Linux).هذا مفيد للمواقف المحلية ، ولكن هناك قيمة خاصة إذا كنت في موقف تحتاج فيه إلى تنزيل شيء ما على جهاز Mac بعيد عند الاتصال عبر SSH.
لأغراض هذه الإرشادات التفصيلية ، سنركز بشكل أساسي على تنزيل الملفات من بروتوكولي HTTP و SFTP اللذين يتم مواجهتهما بشكل شائع ، على الرغم من أنه تجدر الإشارة إلى أن cURL يدعم العديد من البروتوكولات. على الرغم من سهولة استخدام curl ، يوصى بالحصول على بعض المعرفة بسطر الأوامر.
تنزيل ملفات مطابقة تامة باستخدام curl -O
باستخدام علامة O الكبيرة مع curl لتنزيل الملف من الخادم البعيد مع الحفاظ على اسم الملف الدقيق ، فإن البنية الأساسية لذلك هي التالية:
curl -O
هذا يعني أنه إذا تم تسمية ملف URL المحدد باسم "sample.zip" ، فسيتم تنزيله باسم الملف "sample.zip" ، وإذا تم تسمية الملف بشيء ضخم ومعقد مثل LongExampleFileNameForOSXDaily-v- 1-3-51-المراجعة-515b12-التمهيدي.txt "على الخادم البعيد ، فسيتم حفظه بهذا الاسم الدقيق على الجهاز المحلي. غالبًا ما يتم التعامل مع أسماء الملفات الأطول بشكل أفضل باستخدام العلامة -o بدلاً من -O ، والتي سنتناولها قريبًا.
قد يتذكر القراء العاديون أننا استخدمنا الأمر curl -O عند شرح كيفية استخراج محتوى الصوت الفعلي من ملف دفق m3u.
بداية أي تنزيل باستخدام curl يُظهر النسبة المئوية المنقولة والوقت المستغرق في التنزيل والوقت المتبقي وسرعة النقل.
تقدم لقطة الشاشة تمثيلاً أفضل من المثال الذي تم لصقه أدناه ، لكنها تبدو كالتالي:
٪ إجمالي٪ المتلقاة٪ Xferd متوسط سرعة وقت الوقت وقت التحميل الحالي تحميل إجمالي السرعة المتبقية 100 10505100 10505 0 0 79741 0 -: -: - -: -: - -: -: - 142 كيلو
مع إظهار سرعة النقل أنه يمكنك إعادة توجيه إخراج curl إلى / dev / null واستخدامه لاختبار سرعة الاتصال بالإنترنت ، ولكن الأمر wget أسهل في قراءة شريط النقل ومتابعته وبالتالي فإن wget أفضل مناسب لهذه المهمة.
حفظ ملف بعيد باسم مختلف باستخدام curl -o
سيسمح لك استخدام علامة -o صغيرة الحجم بتحديد اسم ملف مختلف للملف الذي تم تنزيله عن كيفية تسميته على الخادم البعيد. يمكن أن يكون هذا مفيدًا لتقليل أسماء الملفات الطويلة أو مجرد تسمية شيء ما بحيث يسهل العثور عليه بنفسك. الصيغة العامة هي:
curl -o
على سبيل المثال ، إذا كنت تريد حفظ ملف iOS IPSW الذي وجدته مدرجًا على خوادم Apple دون الحاجة إلى الاسم الكامل المطول ، فيمكنك استخدام ما يلي:
curl -o iPhone5C-704.ipsw http://appldnld.apple.com/iOS7/031-1828.20131114.P3wE4/iPhone5، 3_7.0.4_11B554a_Restore.ipsw
سيؤدي هذا إلى تنزيل ملف "iPhone5، 3_7.0.4_11B554a_Restore.ipsw" ولكن تم تسميته الأقصر باسم "iPhone5C-704.ipsw" الأكثر أهمية.
إذا كنت تفضل عدم حفظ الملف في دليل العمل الحالي ، فحدد مسارًا كجزء من اسم الملف مثل:
curl -o ~ / Desktop / localexample.dmg http: //url-to-file/example.dmg
تنزيل ملفات متعددة بالتزامن مع curl
يمكن لـ cURL تنزيل ملفات متعددة بسهولة في نفس الوقت ، كل ما عليك فعله هو تحديد أكثر من عنوان URL واحد مثل:
curl -O
للملفات ذات الأسماء المختلفة ، أو المستضافة على خوادم مختلفة ، أو ضمن مسارات دليل مختلفة ، استخدم عنوان URL الكامل ، على سبيل المثال:
curl -O http://ftp.gnu.org/gnu/Licenses/fdl-1.1.txt http://ftp.gnu.org/gnu/ التراخيص / lgpl-2.1.txt http://ftp.gnu.org/gnu/GNUinfo/Audio/index.txt
من ناحية أخرى ، إذا كانت أسماء الملفات المراد تنزيلها تستخدم تسمية تدريجية ، فيمكنك استخدام الأقواس لتحديد نطاق التنزيل ، مثل:
curl -O http://ftp.gnu.org/gnu/Licenses/fd1-1.txt
سيؤدي ذلك إلى التقاط الملفات fdl-1.1.txt و fd1-1.2.txt و fd1-1.3.txt كلها في نفس الوقت دون الحاجة إلى تحديد كل عنوان URL فريد. بالطبع لا يعمل هذا إلا إذا كانت الملفات موجودة في نفس الدليل معًا وفي نفس المجال.
المصادقة باستخدام curl
يمكنك أيضًا تمرير المصادقة باستخدام cURL باستخدام العلامة -u:
curl -u المستخدم: pass -O ftp: //remote_url/file-to-download.zip
ضع في اعتبارك أن سجل bash سيخزن كلمة المرور بنص عادي عند استخدام -u مع تحديد اسم مستخدم وكلمة مرور ، وبالتالي لا يوصى بذلك في معظم المواقف. يمكنك الالتفاف حول ذلك من خلال وضع مسافة أمام "curl".إذا كنت لا تستخدم مفتاح المسافة لبادئة الأمر ، فربما تريد إفراغ سجل الأوامر بعد ذلك لتكون آمنًا.
بروتوكولات curl المدعومة والاستخدام خارج HTTP و FTP
كما ذكرنا سابقًا ، يتجاوز استخدام cURL بكثير HTTP و FTP ، حيث يشير إدخال صفحة دليل curl إلى بروتوكولات إضافية في الوصف:
بالإضافة إلى ذلك ، ستجد أنه يمكن أيضًا استخدام curl لطلبات PUT و POST وملفات تعريف الارتباط والوكلاء والأنفاق واستئناف التنزيلات وحتى الحصول على معلومات رأس HTTP أو تغيير وكيل المستخدم (انتحال فعال) دون الحاجة إلى استخدام متصفح ويب مخصص.
مثل معظم أدوات سطر الأوامر ، يمكنك معرفة المزيد حول curl من خلال استدعاء صفحة الدليل المناسبة باستخدام الأمر "man curl".