- التركيب والتحضيرات
- إدارة التنزيل والإخراج الأساسية
- استمرار التنزيلات والملفات الكبيرة
- تنزيل متكرر ومرآة
- العمل مع واجهات برمجة تطبيقات REST باستخدام wget
- البرمجة النصية، وإعادة المحاولة، والتراجع
- الوكيل، وTLS، والشهادات
- نصائح لتحسين أداء الخوادم السحابية والمواقع
- مقارنة بين wget و curl وأدوات أخرى
- الأمن وأفضل الممارسات
- خاتمة
- معلومات عن الخطط والدعم
- الأسئلة الشائعة
التركيب والتحضيرات
في العديد من توزيعات لينكس، أداة wget البرنامج مُثبّت مسبقاً. إذا كنت ترغب في تثبيته، يمكنك استخدام الأوامر التالية. كما يمكنك استخدام الأمر للتحقق من الإصدار. wget --version استغل الفرصة.
apt update
apt install -y wget
yum install -y wget
brew install wget
wget --version
إدارة التنزيل والإخراج الأساسية
لتنزيل ملف بسيط من عنوان محدد: أداة wget يمكنك تغيير اسم الملف المحفوظ أو تقليل مستوى الإسهاب في الإخراج.
wget https://example.com/file.tar.gz
wget -O custom-name.tar.gz https://example.com/file.tar.gz
wget -q https://example.com/file.tar.gz
wget -nv https://example.com/file.tar.gz
wget -o /var/log/wget-download.log https://example.com/file.tar.gz
استمرار التنزيلات والملفات الكبيرة
لتنزيل الملفات الكبيرة أو في حالة انقطاع الاتصال بالشبكة ثم إعادة الاتصال، استخدم الخيار -ج يُستخدم هذا الخيار لاستئناف العمل. كما أن التحكم في سرعة وعدد المحاولات قد يكون مفيدًا للخوادم المشتركة.
wget -c https://example.com/large.iso
wget --limit-rate=1m https://example.com/large.iso
wget --tries=10 --timeout=30 --retry-connrefused https://example.com/large.iso
تنزيل متكرر ومرآة
استخدم الخيارات المتكررة لتنزيل مسار بشكل متكرر أو لإنشاء نسخة طبق الأصل من الموقع. -np يمنع الصعود إلى المسار الرئيسي و -ك يحوّل الروابط للوصول المحلي.
wget -r -np -k https://example.com/some/path/
wget --mirror -p --convert-links -P ./localdir https://example.com/
العمل مع واجهات برمجة تطبيقات REST باستخدام wget
بالرغم من حليقة يتميز بمرونة أكبر في التعامل مع واجهات برمجة التطبيقات (APIs). أداة wget يُعدّ هذا مفيدًا للتفاعلات البسيطة مثل GET و POST وإرسال الترويسات. فيما يلي بعض الأمثلة الشائعة.
رؤوس الإرسال
لإضافة رؤوس مخصصة من الخيار --عنوان يستخدم.
wget --header="X-API-Version: 2" --header="Accept: application/json" -O response.json "https://api.example.com/resource?id=10"فيما يلي أمثلة شائعة للمصادقة باستخدام wget.
wget --http-user=USERNAME --http-password='PASSWORD' -O resp.json "https://api.example.com/secure"
wget --header="Authorization: Bearer YOUR_TOKEN" -O resp.json "https://api.example.com/protected"
wget --save-cookies cookies.txt --keep-session-cookies --post-data='username=me&password=secret' https://example.com/login
wget --load-cookies cookies.txt -O dashboard.html https://example.com/dashboardإرسال JSON و POST
لإرسال حمولة JSON، يمكنك استخدام --post-ata أو --post-file بالنسبة للأحمال الكبيرة، يوصى بوضع البيانات في ملف.
wget --header="Content-Type: application/json" --post-data='{"name":"test","value":42}' -O resp.json "https://api.example.com/items"
echo '{"name":"big","value":123}' > payload.json
wget --header="Content-Type: application/json" --post-file=payload.json -O resp.json "https://api.example.com/items"القيود والبدائل
تذكر ذلك أداة wget توجد قيود على طرق HTTP باستثناء GET و POST. بالنسبة للطرق يضع، رقعة، يمسح أم أن النماذج متعددة الأجزاء أفضل من حليقة يستخدم.
لتحميل الملفات بالتوازي أو تقسيمها، استخدم أدوات مثل aria2 استغل الفرصة.
البرمجة النصية، وإعادة المحاولة، والتراجع
لضمان تفاعل مستقر مع واجهات برمجة التطبيقات (APIs) والتعامل مع تحديد معدل الطلبات، تُعد خوارزمية إعادة المحاولة مع التراجع الأسي مناسبة. يمكن استخدام مثال سكربت باش البسيط التالي.
#!/bin/bash
URL="https://api.example.com/data"
OUT="resp.json"
TOKEN="YOUR_TOKEN"
attempt=0
max=5
sleep_time=1
while [ $attempt -lt $max ]; do
wget --header="Authorization: Bearer $TOKEN" -O "$OUT" "$URL"
code=$?
if [ $code -eq 0 ]; then
echo "Success"
exit 0
fi
attempt=$((attempt+1))
echo "Attempt $attempt failed, sleeping $sleep_time"
sleep $sleep_time
sleep_time=$((sleep_time * 2))
done
exit 1استخدم مؤقتات cron أو systemd لجدولة التنزيلات بانتظام لتشغيل المهام تلقائيًا على خوادم VPS أو الخوادم السحابية في مواقع مختلفة.
الوكيل، وTLS، والشهادات
إذا كنت تستخدم خادم وكيل، فإن wget يدعم متغيرات البيئة. يمكنك تحديد مسار ملف المرجع المصدق للتحكم في عملية التحقق من الشهادة.
export http_proxy="http://proxy.example:3128"
export https_proxy="http://proxy.example:3128"خيارات الشهادة:
--ca-certificate=/path/to/ca.pem--شهادة بدون فحص(لا يُستخدم إلا في بيئات الاختبار)
نصائح لتحسين أداء الخوادم السحابية والمواقع
يُمكن أن يُساهم اختيار الموقع المناسب في تقليل زمن الاستجابة (RTT) وزمن الاستجابة (ping). بالنسبة للتطبيقات الحساسة مثل التداول، والألعاب، والرسومات ثلاثية الأبعاد، أو الذكاء الاصطناعي الذي يستخدم خوادم GPU، يُعدّ القرب من خدمة الوجهة أمرًا بالغ الأهمية، حيث يُمكن للشركة المعنية تقديم الخدمات في أكثر من 85 موقعًا لقد كان كذلك.
- اختر موقعًا: اختر أقرب مركز بيانات إلى وجهتك لتقليل زمن الاستجابة.
- قم بتنزيل نماذج وصور الذكاء الاصطناعي: من
-جللحصول على السيرة الذاتية و--limit-rateاستخدمه عند معالجة المواد الثقيلة. - أمن الشبكة: استخدم خوادم محمية ضد هجمات DDoS لاستضافة الملفات ذات حركة المرور العالية.
- شبكة توصيل المحتوى (CDN) وبروتوكول بوابة الحدود (BGP): يوصى باستخدام مزيج من wget للاختبار من نقطة إلى نقطة وCDN للتوزيع النهائي.
مثال عملي لتنزيل نموذج كبير على خادم وحدة معالجة الرسومات (GPU):
wget -c https://models.example.com/large-model.tar.gz -O /mnt/nvme/models/large-model.tar.gz --limit-rate=5m --tries=20
مقارنة بين wget و curl وأدوات أخرى
ملخص لفوائد واستخدامات كل أداة:
- wget: مناسب لتنزيل الملفات، ونسخ المواقع، والتنزيل المتكرر؛ بسيط ومناسب للبرامج النصية.
- حليقة: مرونة عالية لواجهات برمجة تطبيقات REST، ودعم كامل لبروتوكول HTTP وطرق multipart.
- aria2: تنزيلات متوازية واتصالات متعددة لتسريع التنزيلات.
- rsync/scp: مزامنة آمنة بين الخوادم (SSH/SFTP).
الأمن وأفضل الممارسات
بعض التوصيات الرئيسية للاستخدام الآمن لأداة wget وإدارة البيانات السرية:
- تخزين الرموز المميزة: قم بتقييد الملفات التي تحتوي على رموز مميزة واستخدم مديرًا للأسرار.
- TLS: أبقِ خاصية التحقق من الشهادة مُفعّلة.
--شهادة بدون فحصللاستخدام في الاختبارات فقط. - تحديد معدل الاستخدام: استخدم رؤوس تحديد المعدل وخوارزمية التراجع لتجنب الحظر.
- حماية الشبكة: استخدم خوادم مكافحة هجمات DDoS وشبكات توصيل المحتوى (CDN) لاستضافة الملفات المستخدمة بشكل متكرر.
خاتمة
إجابةً على السؤال الرئيسي، أداة wget هي أداة بسيطة ومستقرة لتنزيل الملفات، ومزامنة البيانات، والتفاعلات الأساسية مع واجهات برمجة تطبيقات REST. أما بالنسبة لاحتياجات HTTP الأكثر تعقيدًا والتفاعلات الأكثر تنوعًا، حليقة إنه خيار أفضل. في بيئات الحوسبة السحابية، يمكن لاختيار الموقع المناسب، واستخدام خوادم آمنة، وتكوين الشبكة المناسبة أن يحسن تجربة العمل بشكل كبير.
معلومات عن الخطط والدعم
خطط في أكثر من 85 موقعًا وهي متوفرة في جميع أنحاء العالم، ويتم تقديم خيارات مختلفة لاستخدامات محددة مثل خوادم وحدة معالجة الرسومات، وخوادم ذات زمن استجابة منخفض للتداول، أو خوادم مناسبة للألعاب واستضافة حركة المرور العالية.
للاطلاع على تفاصيل الخطة أو الحصول على معلومات إضافية، يمكنك زيارة لوحة التحكم على الويب أو الحصول على مزيد من المعلومات من خلال الدعم.









