Scroll to navigation

WGET(1) جنو ويجيت WGET(1)

الاسم

ويجيت - منزل الشبكة غير التفاعلي.

موجز

wget [الخيار]... [رابط_المسار]...

الوصف

جنو ويجيت أداة حرة لتنزيل الملفات من الويب بشكل غير تفاعلي. وتدعم بروتوكولات HTTP و HTTPS و FTP، بالإضافة إلى الاستجلاب عبر وكلاء HTTP.

ويجيت غير تفاعلي، مما يعني أنه يمكنه العمل في الخلفية بينما لا يكون المستخدم مسجل الدخول. وهذا يتيح لك بدء عملية استجلاب ثم الفصل من النظام، وترك ويجيت ينهي العمل. وعلى النقيض من ذلك، تتطلب معظم متصفحات الويب حضور المستخدم المستمر، وهو ما قد يمثل عائقًا كبيرًا عند نقل الكثير من البيانات.

يمكن لويجيت تتبع الروابط في صفحات HTML و XHTML و CSS، لإنشاء نسخ محلية من مواقع الويب البعيدة، مع إعادة إنشاء هيكل الدليل للموقع الأصلي بالكامل. يُشار إلى هذا أحيانًا باسم "التنزيل المتكرر". وأثناء القيام بذلك، يحترم ويجيت معيار استبعاد الروبوتات (/robots.txt). يمكن توجيه ويجيت لتحويل الروابط في الملفات المنزلة لتشير إلى الملفات المحلية، للعرض دون اتصال.

صُمم ويجيت ليكون قويًا عبر اتصالات الشبكة البطيئة أو غير المستقرة؛ فإذا فشل التنزيل بسبب مشكلة في الشبكة، فسيواصل المحاولة حتى يُستجلب الملف بالكامل. وإذا كان الخادم يدعم إعادة الاستجلاب، فإنه سيوجه الخادم لمواصلة التنزيل من حيث توقف.

الخيارات

بنية الخيار

بما أن ويجيت يستخدم جنو getopt لمعالجة وسائط سطر الأوامر، فإن لكل خيار شكلًا طويلًا إلى جانب الشكل القصير. الخيارات الطويلة أكثر ملاءمة للتذكر، ولكنها تستغرق وقتًا في الكتابة. يمكنك مزج أنماط الخيارات المختلفة بحرية، أو تحديد الخيارات بعد وسائط سطر الأوامر. وبالتالي يمكنك كتابة:

        wget -r --tries=10 http://fly.srk.fer.hr/ -o log

يمكن حذف المسافة بين الخيار الذي يقبل وسيطًا والوسيط نفسه. فبدلًا من -o log يمكنك كتابة -olog.

يمكنك وضع عدة خيارات لا تتطلب وسائط معًا، مثل:

        wget -drc <رابط_المسار>

هذا يعادل تمامًا:

        wget -d -r -c <رابط_المسار>

نظرًا لأنه يمكن تحديد الخيارات بعد الوسائط، يمكنك إنهاؤها بـ --. لذا سيحاول ما يلي تنزيل الرابط -x، مع الإبلاغ عن الفشل في log:

        wget -o log -- -x

الخيارات التي تقبل قوائم مفصولة بفاصلة تحترم جميعها العرف القائل بأن تحديد قائمة فارغة يمسح قيمتها. قد يكون هذا مفيدًا لمسح إعدادات .wgetrc. على سبيل المثال، إذا كان ملف .wgetrc الخاص بك يضبط "exclude_directories" على /cgi-bin، فإن المثال التالي سيعيد ضبطه أولًا، ثم يضبطه لاستبعاد /~nobody و /~somebody. يمكنك أيضًا مسح القوائم في .wgetrc.

        wget -X "" -X /~nobody,/~somebody

معظم الخيارات التي لا تقبل وسائط هي خيارات منطقية، سميت بهذا الاسم لأنه يمكن التقاط حالتها بمتغير نعم أو لا ("منطقي"). على سبيل المثال، يخبر --follow-ftp ويجيت بتتبع روابط FTP من ملفات HTML، ومن ناحية أخرى، يخبره --no-glob بعدم إجراء مطابقة أنماط الملفات (globbing) على روابط FTP. يكون الخيار المنطقي إما إيجابيًا أو سلبيًا (يبدأ بـ --no). تشترك كل هذه الخيارات في عدة خصائص.

ما لم يُذكر خلاف ذلك، يُفترض أن السلوك المبدئي هو عكس ما ينجزه الخيار. على سبيل المثال، يفترض الوجود الموثق لـ --follow-ftp أن المبدئي هو عدم تتبع روابط FTP من صفحات HTML.

يمكن نفي الخيارات الإيجابية بإضافة البادئة --no- إلى اسم الخيار؛ ويمكن نفي الخيارات السلبية بحذف البادئة --no-. قد يبدو هذا زائدًا عن الحاجة - فإذا كان المبدئي لخيار إيجابي هو عدم القيام بشيء ما، فلماذا نوفر طريقة لإيقافه صراحة؟ لكن ملف بدء التشغيل قد يغير المبدئي في الواقع. على سبيل المثال، استخدام "follow_ftp = on" في .wgetrc يجعل ويجيت يتتبع روابط FTP مبدئيًا، واستخدام --no-follow-ftp هو الطريقة الوحيدة لاستعادة المبدئي المصنعي من سطر الأوامر.

خيارات بدء التشغيل الأساسية

اعرض إصدار ويجيت.
اطبع رسالة مساعدة تصف كل خيارات سطر الأوامر لويجيت.
انتقل إلى الخلفية فور بدء التشغيل. إذا لم يُحدد ملف مخرجات عبر -o، تُوجه المخرجات إلى wget-log.
نفذ الأمر كما لو كان جزءًا من .wgetrc. الأمر المستدعى بهذه الطريقة سيُنفذ بعد الأوامر في .wgetrc، وبالتالي يأخذ الأسبقية عليها. إذا كنت بحاجة لتحديد أكثر من أمر wgetrc، استخدم عدة حالات من -e.

خيارات التسجيل وملف المدخلات

سجل كل الرسائل في ملف_السجل. عادةً ما يُبلغ عن الرسائل إلى الخطأ القياسي.
ألحق بـ ملف_السجل. هذا هو نفسه -o، إلا أنه يلحق بـ ملف_السجل بدلًا من الكتابة فوق ملف السجل القديم. إذا لم يكن ملف_السجل موجودًا، يُنشأ ملف جديد.
فعل مخرجات التنقيح، مما يعني معلومات متنوعة مهمة لمطوري ويجيت إذا لم يعمل بشكل صحيح. قد يكون مدير نظامك قد اختار تجميع ويجيت بدون دعم التنقيح، وفي هذه الحالة لن يعمل -d. يرجى ملاحظة أن التجميع مع دعم التنقيح آمن دائمًا --- ويجيت المجمع مع دعم التنقيح لن يطبع أي معلومات تنقيح ما لم يُطلب ذلك بواسطة -d.
أوقف مخرجات ويجيت.
فعل المخرجات المسهبة، مع كل البيانات المتاحة. المخرجات المبدئية مسهبة.
أوقف الإسهاب دون أن يكون صامتًا تمامًا (استخدم -q لذلك)، مما يعني أن رسائل الخطأ والمعلومات الأساسية ستظل تُطبع.
أخرج عرض النطاق الترددي كـ نوع. القيمة الوحيدة المقبولة هي bits.
اقرأ روابط المسار من ملف محلي أو خارجي. إذا حُدد - كـ ملف، تُقرأ الروابط من المدخلات القياسية. (استخدم ./- للقراءة من ملف اسمه الحرفي -.)

إذا استُخدمت هذه الدالة، فلا داعي لوجود روابط مسار في سطر الأوامر. إذا كانت هناك روابط في كل من سطر الأوامر وفي ملف مدخلات، فستكون الروابط الموجودة في سطر الأوامر هي الأولى التي تُستجلب. إذا لم يُحدد --force-html، فيجب أن يتكون الملف من سلسلة من الروابط، رابط واحد لكل سطر.

ومع ذلك، إذا حددت --force-html، فسيُعتبر المستند html. في هذه الحالة قد تواجه مشاكل مع الروابط النسبية، والتي يمكنك حلها إما بإضافة "<base href="رابط">" إلى المستندات أو بتحديد --base=رابط في سطر الأوامر.

إذا كان الملف خارجيًا، فسيُعامل المستند آليًا على أنه html إذا تطابق Content-Type مع text/html. علاوة على ذلك، سيُستخدم موقع الملف ضمنيًا كمرجع أساسي (base href) إذا لم يُحدد أي مرجع.

إذا كان الملف محليًا، في الأنظمة التي تدعم ذلك، فسيُفتح بعلامة "O_NONBLOCK" للسماح بالقراءة غير المحظورة من الملف. سيحاول ويجيت مواصلة القراءة من الملف حتى الوصول إلى نهاية الملف (EOF) أو إغلاقه. يتيح ذلك دفق قائمة ملفات للاستجلاب حيث تُولد القائمة ديناميكيًا أثناء تنفيذ العملية. حاليًا، هذه الميزة غير متوفرة على منصات ويندوز.

نزل الملفات المشمولة في ملف ميتالينك (Metalink) المحلي. إصدارات ميتالينك 3 و 4 مدعومة.
يحتفظ بملفات ميتالينك المنزلة ذات البصمة (hash) السيئة. يلحق .badhash باسم ملفات ميتالينك التي بها عدم تطابق في مجموع التحقق، باستثناء عدم الكتابة فوق الملفات الموجودة.
يصدر طلب HTTP HEAD بدلًا من GET ويستخرج البيانات الوصفية لميتالينك من ترويسات الاستجابة. ثم ينتقل إلى تنزيل ميتالينك. إذا لم يُعثر على بيانات وصفية صالحة لميتالينك، فإنه يعود إلى تنزيل HTTP العادي. يفعل تنزيل/معالجة ملفات Content-Type: application/metalink4+xml.
اضبط الرقم الترتيبي لـ metaurl الخاص بميتالينك application/metalink4+xml. من 1 إلى إجمالي عدد "application/metalink4+xml" المتاح. حدد 0 أو inf لاختيار أول واحد جيد. قد تكون روابط metaurl، مثل تلك الموجودة في --metalink-over-http، قد رُتبت حسب قيمة مفتاح الأولوية؛ ضع ذلك في الاعتبار لاختيار الرقم الصحيح.
اضبط الموقع المفضل لموارد ميتالينك. يكون لهذا تأثير في حال توفر موارد متعددة بنفس الأولوية.
فعل استخدام السمات الموسعة لنظام الملفات لحفظ رابط المسار الأصلي وقيمة ترويسة HTTP Referer إذا استُخدمت.

كن على علم بأن الرابط قد يحتوي على معلومات خاصة مثل رموز الوصول أو بيانات الاستيثاق.

عند قراءة المدخلات من ملف، افرض معالجته كملف HTML. يتيح لك ذلك استجلاب الروابط النسبية من ملفات HTML الموجودة على قرصك المحلي، عن طريق إضافة "<base href="رابط">" إلى HTML، أو باستخدام خيار سطر الأوامر --base.
يحلل الروابط النسبية باستخدام الرابط كنقطة مرجعية، عند قراءة الروابط من ملف HTML المحدد عبر خيار -i/--input-file (بالتزامن مع --force-html، أو عندما استُجلب ملف المدخلات عن بعد من خادم يصفه بأنه HTML). يعادل هذا وجود وسم "BASE" في ملف مدخلات HTML، مع كون الرابط هو قيمة السمة "href".

على سبيل المثال، إذا حددت http://foo/bar/a.html لـ الرابط، وقرأ ويجيت ../baz/b.html من ملف المدخلات، فسيتم تحليله إلى http://foo/baz/b.html.

حدد موقع ملف بدء تشغيل ترغب في استخدامه بدلًا من الملف (الملفات) المبدئي. استخدم --no-config لتعطيل قراءة ملفات الإعداد. إذا أُعطي كل من --config و --no-config، فسيُتجاهل --no-config.
يسجل جميع حالات رفض الروابط في ملف_السجل كقيم مفصولة بفاصلة. تشمل القيم سبب الرفض، والرابط، والرابط الأب الذي وُجد فيه.

خيارات التنزيل

عند إجراء اتصالات TCP/IP للعميل، اربط بـ العنوان على الجهاز المحلي. قد يُحدد العنوان كاسم مضيف أو عنوان IP. قد يكون هذا الخيار مفيدًا إذا كان جهازك مربوطًا بعناوين IP متعددة.
[لـ libcares فقط] يتجاوز هذا العنوان المسار لطلبات DNS. إذا كنت بحاجة إلى الالتفاف على الإعدادات القياسية من /etc/resolv.conf، فإن هذا الخيار مع --dns-servers هو صديقك. يجب تحديد العنوان إما كعنوان IPv4 أو IPv6. يحتاج ويجيت إلى أن يكون مجمعًا مع libcares ليكون هذا الخيار متاحًا.
[لـ libcares فقط] تتجاوز العناوين المعطاة عناوين خوادم الأسماء القياسية، على سبيل المثال كما هي مهيأة في /etc/resolv.conf. قد تُحدد العناوين إما كعناوين IPv4 أو IPv6، مفصولة بفاصلة. يحتاج ويجيت إلى أن يكون مجمعًا مع libcares ليكون هذا الخيار متاحًا.
اضبط عدد المحاولات على الرقم. حدد 0 أو inf لإعادة محاولة غير محدودة. المبدئي هو إعادة المحاولة 20 مرة، باستثناء الأخطاء القاتلة مثل "رفض الاتصال" أو "غير موجود" (404)، والتي لا تُعاد المحاولة فيها.
لن تُكتب المستندات في الملفات المناسبة، ولكن سيتم دمجها جميعًا معًا وكتابتها في ملف. إذا استُخدم - كـ ملف، فستُطبع المستندات إلى المخرجات القياسية، مع تعطيل تحويل الروابط. (استخدم ./- للطباعة إلى ملف اسمه الحرفي -.)

لا يُقصد من استخدام -O مجرد "استخدام الاسم ملف بدلًا من الاسم الموجود في الرابط"؛ بل هو مشابه لإعادة توجيه الصدفة: يُقصد من wget -O file http://foo أن يعمل مثل wget -O - http://foo > file؛ سيتم اقتطاع الملف فورًا، وسيُكتب كل المحتوى المنزل هناك.

لهذا السبب، فإن -N (للتحقق من الطابع الزمني) غير مدعوم بالتزامن مع -O: بما أن الملف يُنشأ دائمًا من جديد، فإنه سيحتوي دائمًا على طابع زمني حديث جدًا. سيصدر تحذير إذا استُخدم هذا المزيج.

بالمثل، قد لا يعمل استخدام -r أو -p مع -O كما تتوقع: لن يقوم ويجيت بتنزيل الملف الأول فقط إلى الملف ثم تنزيل الباقي بأسمائهم العادية: بل سيتم وضع كل المحتوى المنزل في الملف. تم تعطيل هذا في الإصدار 1.11، ولكن أُعيد استخدامه (مع تحذير) في 1.11.2، حيث توجد بعض الحالات التي قد يكون فيها لهذا السلوك فائدة بالفعل.

لا يُقبل الدمج مع -nc إلا إذا كان ملف المخرجات المعطى غير موجود.

لاحظ أن الدمج مع -k مسموح به فقط عند تنزيل مستند واحد، حيث إنه في هذه الحالة سيحول ببساطة جميع الروابط النسبية إلى روابط خارجية؛ لا معنى لـ -k مع روابط متعددة عندما تُنزل جميعها إلى ملف واحد؛ لا يمكن استخدام -k إلا عندما تكون المخرجات ملفًا عاديًا.

إذا نُزل ملف أكثر من مرة في نفس الدليل، فإن سلوك ويجيت يعتمد على بعض الخيارات، بما في ذلك -nc. في حالات معينة، سيتم سحق الملف المحلي، أو الكتابة فوقه، عند التنزيل المتكرر. وفي حالات أخرى سيتم الحفاظ عليه.

عند تشغيل ويجيت بدون -N أو -nc أو -r أو -p، فإن تنزيل نفس الملف في نفس الدليل سيؤدي إلى الحفاظ على النسخة الأصلية من الملف وتسمية النسخة الثانية الملف.1. وإذا نُزل هذا الملف مرة أخرى، فستسمى النسخة الثالثة الملف.2، وهكذا. (هذا هو السلوك أيضًا مع -nd، حتى لو كان -r أو -p قيد التنفيذ.) عند تحديد -nc، يُكبت هذا السلوك، وسيرفض ويجيت تنزيل نسخ أحدث من الملف. لذلك، فإن ""no-clobber"" هو في الواقع تسمية خاطئة في هذا الوضع - فليس السحق هو ما يُمنع (حيث كانت اللاحقات العددية تمنع السحق بالفعل)، بل إن حفظ النسخ المتعددة هو ما يُمنع.

عند تشغيل ويجيت مع -r أو -p، ولكن بدون -N أو -nd أو -nc، فإن إعادة تنزيل ملف سيؤدي إلى قيام النسخة الجديدة ببساطة بالكتابة فوق القديمة. ستمنع إضافة -nc هذا السلوك، مما يؤدي بدلًا من ذلك إلى الحفاظ على النسخة الأصلية وتجاهل أي نسخ أحدث على الخادم.

عند تشغيل ويجيت مع -N، مع أو بدون -r أو -p، فإن قرار تنزيل نسخة أحدث من ملف من عدمه يعتمد على الطابع الزمني المحلي والبعيد وحجم الملف. لا يجوز تحديد -nc في نفس وقت تحديد -N.

لا يُقبل الدمج مع -O/--output-document إلا إذا كان ملف المخرجات المعطى غير موجود.

لاحظ أنه عند تحديد -nc، فإن الملفات التي تنتهي باللاحقات .html أو .htm ستُحمل من القرص المحلي وتُحلل كما لو كانت قد استُجلبت من الويب.

قبل الكتابة (فوق) ملف، انسخ ملفًا موجودًا احتياطيًا عن طريق إضافة لاحقة .1 (_1 على VMS) إلى اسم الملف. يتم تدوير ملفات النسخ الاحتياطي هذه إلى .2 و .3، وهكذا، حتى النسخ_الاحتياطية (وتُفقد بعد ذلك).
لا تحاول الحصول على بيانات الاستيثاق من ملف .netrc. مبدئيًا يُبحث في ملف .netrc عن بيانات الاستيثاق في حال لم يُمرر أي منها في سطر الأوامر وكان الاستيثاق مطلوبًا.
واصل استجلاب ملف منزل جزئيًا. هذا مفيد عندما تريد إنهاء تنزيل بدأ بواسطة حالة سابقة لويجيت، أو بواسطة برنامج آخر. على سبيل المثال:

        wget -c ftp://sunsite.doc.ic.ac.uk/ls-lR.Z
    

إذا كان هناك ملف باسم ls-lR.Z في الدليل الحالي، فسيفترض ويجيت أنه الجزء الأول من الملف البعيد، وسيطلب من الخادم مواصلة الاستجلاب من إزاحة تساوي طول الملف المحلي.

لاحظ أنك لست بحاجة إلى تحديد هذا الخيار إذا كنت تريد فقط من استدعاء ويجيت الحالي إعادة محاولة تنزيل ملف في حالة فقدان الاتصال في منتصف العملية. هذا هو السلوك المبدئي. يؤثر -c فقط على استئناف التنزيلات التي بدأت قبل هذا الاستدعاء لويجيت، والتي لا تزال ملفاتها المحلية موجودة.

بدون الخيار -c، سيقوم المثال السابق بتنزيل الملف البعيد إلى ls-lR.Z.1 فقط، تاركًا ملف ls-lR.Z المبتور وشأنه.

إذا استخدمت الخيار -c على ملف غير فارغ، ولم يدعم الخادوم استكمال التنزيل، فسيعيد Wget بدء التنزيل من الصفر ويستبدل الملف الموجود بالكامل.

بدءًا من الإصدار 1.7 من Wget، إذا استخدمت الخيار -c على ملف حجمه مساوٍ لحجم الملف الموجود على الخادوم، سيرفض Wget تنزيل الملف ويطبع رسالة توضيحية. ويحدث الشيء نفسه عندما يكون حجم الملف على الخادوم أصغر مما هو محليًا (يُفترض أن ذلك بسبب تغييره على الخادوم منذ آخر محاولة تنزيل)---ولأن "الاستكمال" غير ذي جدوى، لن يحدث أي تنزيل.

على الجانب الآخر، عند استخدام -c، سيُعتبر أي ملف يكون حجمه على الخادوم أكبر منه محليًا تنزيلًا غير مكتمل، وسيُنزّل "(length(remote) - length(local))" بايت فقط وتُلحق بنهاية الملف المحلي. يمكن أن يكون هذا السلوك مرغوبًا في حالات معينة---على سبيل المثال، يمكنك استخدام wget -c لتنزيل الجزء الجديد فقط الذي أُلحق بمجموعة بيانات أو ملف سجلات.

ومع ذلك، إذا كان الملف أكبر على الخادوم بسبب تغييره، وليس مجرد الإلحاق إليه، فستنتهي بملف مشوه. ليس لدى Wget طريقة للتحقق من أن الملف المحلي هو بالفعل بادئة صالحة للملف البعيد. يجب أن تكون حذرًا بشكل خاص من هذا عند استخدام -c بالتزامن مع -r، حيث سيُعتبر كل ملف مرشحًا ليكون "تنزيلًا غير مكتمل".

حالة أخرى قد تحصل فيها على ملف مشوه إذا حاولت استخدام -c هي إذا كان لديك وكيل HTTP رديء يدرج سلسلة نصية مثل "انقطع النقل" في الملف المحلي. مستقبلاً، قد يُضاف خيار "تراجع" للتعامل مع هذه الحالة.

لاحظ أن -c يعمل فقط مع خواديم FTP وخواديم HTTP التي تدعم ترويسة "Range".

يبدأ التنزيل من الموقع OFFSET (بدءًا من الصفر). يمكن التعبير عن الإزاحة بالبايت، أو بالكيلوبايت باستخدام اللاحقة `k'، أو بالميجابايت باستخدام اللاحقة `m'، إلخ.

يتمتع --start-pos بأسبقية أعلى من --continue. عندما يُحدد --start-pos و --continue معًا، سيُصدر wget تحذيرًا ثم يواصل العمل كما لو كان --continue غائبًا.

يُشترط دعم الخادوم لاستكمال التنزيل، وإلا فلن يكون --start-pos مفيدًا. راجع -c للتفاصيل.

يحدد نوع مؤشر التقدم الذي ترغب في استخدامه. المؤشرات القانونية هي "dot" (نقطة) و "bar" (شريط).

يُستخدم المؤشر "bar" مبدئيًا. يرسم شريط تقدم بنظام ASCII (يُعرف أيضًا بعرض "الميزان") يوضح حالة الاسترجاع. إذا لم يكن المخرج محطة طرفية (TTY)، فسيُستخدم المؤشر "dot" مبدئيًا.

استخدم --progress=dot للتبديل إلى عرض النقاط. يتتبع الاسترجاع عبر طباعة نقاط على الشاشة، تمثل كل نقطة مقدارًا ثابتًا من البيانات المُننزلة.

يمكن لنوع (type) التقدم أيضًا أن يأخذ معاملًا واحدًا أو أكثر. تختلف المعاملات بناءً على النوع المختار. تُمرر المعاملات إلى النوع بإلحاقها به مفصولة بنقطتين رأسيتين (:) هكذا: --progress=type:parameter1:parameter2.

عند استخدام الاسترجاع المنقط، يمكنك ضبط النمط (style) عبر تحديد النوع مثل dot:style. تعطي الأنماط المختلفة معاني مختلفة للنقطة الواحدة. مع نمط "default" المبدئي، تمثل كل نقطة 1K، وتوجد عشر نقاط في كل مجموعة و 50 نقطة في السطر. أما نمط "binary" فله توجه أكثر ملاءمة لـ "الحاسوب"---نقاط بحجم 8K، ومجموعات من 16 نقطة و 48 نقطة في السطر (مما يجعل السطر 384K). نمط "mega" مناسب لتنزيل الملفات الكبيرة---تمثل كل نقطة 64K مسترجع، وهناك ثماني نقاط في المجموعة، و 48 نقطة في كل سطر (بحيث يحتوي كل سطر على 3M). وإذا كان نمط "mega" غير كافٍ، فيمكنك استخدام نمط "giga"---تمثل كل نقطة 1M مسترجع، وهناك ثماني نقاط في المجموعة، و 32 نقطة في كل سطر (بحيث يحتوي كل سطر على 32M).

مع --progress=bar، يوجد حاليًا معاملان ممكنان، force و noscroll.

عندما لا يكون المخرج محطة طرفية، يعود شريط التقدم دائمًا إلى نمط "dot"، حتى لو مُرر --progress=bar إلى Wget أثناء الاستدعاء. يمكن تجاوز هذا السلوك وفرض مخرج "bar" باستخدام المعامل "force" مثل --progress=bar:force.

مبدئيًا، يقوم شريط التقدم بنمط bar بتمرير اسم الملف من اليسار إلى اليمين للملف الذي يجري تنزيله إذا تجاوز اسم الملف أقصى طول مخصص لعرضه. في حالات معينة، مثل استخدام --progress=bar:force، قد لا يرغب المرء في تمرير اسم الملف في شريط التقدم. عبر تمرير المعامل "noscroll"، يمكن إجبار Wget على عرض أكبر قدر ممكن من اسم الملف دون تمريره.

لاحظ أنه يمكنك ضبط النمط المبدئي باستخدام أمر "progress" في ملف .wgetrc. يمكن تجاوز هذا الإعداد من سطر الأوامر. على سبيل المثال، لفرض مخرج الشريط بدون تمرير، استخدم --progress=bar:force:noscroll.

يفرض على wget عرض شريط التقدم في أي مستوى من مستويات الإسهاب.

مبدئيًا، يعرض wget شريط التقدم في الوضع المسهب فقط. ومع ذلك، قد يرغب المرء في أن يعرض wget شريط التقدم على الشاشة بالتزامن مع أي أوضاع إسهاب أخرى مثل --no-verbose أو --quiet. هذه خاصية مرغوبة غالبًا عند استدعاء wget لتنزيل عدة ملفات صغيرة أو كبيرة. في مثل هذه الحالة، يمكن ببساطة استدعاء wget بهذا المعامل للحصول على مخرج أنظف بكثير على الشاشة.

سيفرض هذا الخيار أيضًا طباعة شريط التقدم إلى stderr عند استخدامه جنباً إلى جنب مع خيار --output-file.

يُفعّل الختم الزمني.
لا يرسل ترويسة If-Modified-Since في وضع -N. يرسل طلب HEAD تمهيدي بدلاً من ذلك. ليس لهذا تأثير إلا في وضع -N.
لا يضبط الختم الزمني للملف المحلي بناءً على الختم الزمني الموجود على الخادوم.

مبدئيًا، عند تنزيل ملف، تُضبط أختامه الزمنية لتطابق تلك الموجودة في الملف البعيد. يسمح هذا باستخدام --timestamping في استدعاءات wget اللاحقة. ومع ذلك، من المفيد أحيانًا جعل الختم الزمني للملف المحلي يعتمد على وقت تنزيله الفعلي؛ ولهذا الغرض، وُفر خيار --no-use-server-timestamps.

يطبع الترويسات المرسلة من خواديم HTTP والاستجابات المرسلة من خواديم FTP.
عند الاستدعاء بهذا الخيار، سيسلك Wget سلوك عنكبوت ويب، مما يعني أنه لن ينزل الصفحات، بل سيتحقق فقط من وجودها. على سبيل المثال، يمكنك استخدام Wget للتحقق من علاماتك المرجعية:

        wget --spider --force-html -i bookmarks.html
    

تحتاج هذه الميزة إلى عمل أكثر بكثير لكي يقترب Wget من وظائف عناكب الويب الحقيقية.

يضبط مهلة الشبكة إلى seconds من الثواني. وهذا يعادل تحديد --dns-timeout و --connect-timeout و --read-timeout، كلها في نفس الوقت.

عند التفاعل مع الشبكة، يمكن لـ Wget التحقق من المهلة وإيقاف العملية إذا استغرقت وقتًا طويلاً. يمنع هذا الحالات الشاذة مثل القراءات المعلقة والاتصالات اللانهائية. المهلة الوحيدة المفعّلة مبدئيًا هي مهلة قراءة قدرها 900 ثانية. ضبط المهلة على 0 يعطلها تمامًا. ما لم تكن تعرف ما تفعله، فمن الأفضل عدم تغيير إعدادات المهلة المبدئية.

تقبل جميع الخيارات المتعلقة بالمهلة قيمًا عشرية، بالإضافة إلى قيم أجزاء الثانية. على سبيل المثال، 0.1 ثانية هو خيار قانوني (وإن كان غير حكيم) للمهلة. مهلات أجزاء الثانية مفيدة للتحقق من أوقات استجابة الخادوم أو لاختبار زمن وصول الشبكة.

يضبط مهلة البحث في نظام أسماء النطاقات (DNS) إلى seconds من الثواني. ستفشل عمليات البحث التي لا تكتمل خلال الوقت المحدد. مبدئيًا، لا توجد مهلة لعمليات البحث في DNS، بخلاف تلك التي تنفذها مكتبات النظام.
يضبط مهلة الاتصال إلى seconds من الثواني. سيتم إجهاض اتصالات TCP التي تستغرق وقتًا أطول لإنشائها. مبدئيًا، لا توجد مهلة اتصال، بخلاف تلك التي تنفذها مكتبات النظام.
يضبط مهلة القراءة (والكتابة) إلى seconds من الثواني. يشير "الوقت" في هذه المهلة إلى وقت الخمول: إذا لم يتم استلام أي بيانات لأكثر من عدد الثواني المحدد في أي لحظة أثناء التنزيل، تفشل القراءة ويُعاد بدء التنزيل. لا يؤثر هذا الخيار مباشرة على مدة التنزيل بالكامل.

بالطبع، قد يختار الخادوم البعيد إنهاء الاتصال في وقت أبكر مما يتطلبه هذا الخيار. مهلة القراءة المبدئية هي 900 ثانية.

يحد من سرعة التنزيل إلى amount بايت في الثانية. يمكن التعبير عن المقدار بالبايت، أو بالكيلوبايت مع اللاحقة k، أو بالميجابايت مع اللاحقة m. على سبيل المثال، --limit-rate=20k سيحد من معدل الاسترجاع إلى 20KB/s. هذا مفيد عندما لا تريد لـ Wget استهلاك كامل النطاق الترددي المتاح لأي سبب كان.

يسمح هذا الخيار باستخدام الأرقام العشرية، عادةً بالتزامن مع لواحق القوى؛ على سبيل المثال، --limit-rate=2.5k قيمة قانونية.

لاحظ أن Wget ينفذ التحديد عبر النوم لفترة زمنية مناسبة بعد قراءة شبكية استغرقت وقتاً أقل مما هو محدد بالمعدل. تؤدي هذه الاستراتيجية في النهاية إلى إبطاء نقل TCP إلى المعدل المحدد تقريبًا. ومع ذلك، قد يستغرق الوصول إلى هذا التوازن بعض الوقت، لذا لا تتفاجأ إذا لم يعمل تحديد المعدل جيدًا مع الملفات الصغيرة جدًا.

ينتظر عدد الثواني المحدد بين عمليات الاسترجاع. يُوصى باستخدام هذا الخيار، لأنه يخفف الحمل على الخادوم بجعل الطلبات أقل تكرارًا. بدلاً من الثواني، يمكن تحديد الوقت بالدقائق باستخدام اللاحقة "m"، أو بالساعات باستخدام اللاحقة "h"، أو بالأيام باستخدام اللاحقة "d".

تحديد قيمة كبيرة لهذا الخيار مفيد إذا كانت الشبكة أو المضيف الوجهة متوقفين، بحيث يمكن لـ Wget الانتظار لفترة كافية لتوقع إصلاح خطأ الشبكة بشكل معقول قبل إعادة المحاولة. يتأثر فاصل الانتظار المحدد بهذه الوظيفة بخيار "--random-wait"، انظر إليه.

إذا كنت لا تريد أن ينتظر Wget بين كل استرجاع، بل فقط بين إعادات محاولة التنزيلات الفاشلة، فيمكنك استخدام هذا الخيار. سيستخدم Wget تراجعًا خطيًا، حيث ينتظر ثانية واحدة بعد الفشل الأول لملف معين، ثم ينتظر ثانيتين بعد الفشل الثاني لذلك الملف، وصولاً إلى الحد الأقصى لعدد الثواني (seconds) الذي تحدده.

يفترض Wget قيمة مبدئية قدرها 10 ثوانٍ.

قد تقوم بعض المواقع بتحليل السجلات لتحديد برامج الاسترجاع مثل Wget عبر البحث عن تشابهات ذات دلالة إحصائية في الوقت الفاصل بين الطلبات. يؤدي هذا الخيار إلى تغيير الوقت بين الطلبات ليتراوح بين 0.5 و 1.5 * wait من الثواني، حيث حُدد wait باستخدام خيار --wait، وذلك لإخفاء وجود Wget عن مثل هذا التحليل.

قدم مقال نُشر عام 2001 في منشور مخصص للتطوير على منصة استهلاكية شهيرة شفرة برمجية لإجراء هذا التحليل على الطاير. اقترح كاتب المقال الحظر على مستوى عناوين الفئة C لضمان حظر برامج الاسترجاع الآلية رغم تغيير العناوين التي يوفرها بروتوكول DHCP.

استُلهم خيار --random-wait من هذه التوصية غير الحكيمة بحظر كثير من المستخدمين غير المرتبطين ببعضهم عن موقع ويب بسبب تصرفات مستخدم واحد.

لا تستخدم الوكلاء، حتى لو كان متغير البيئة المناسب *_proxy معرفًا.
يحدد حصة التنزيل للاسترجاعات الآلية. يمكن تحديد القيمة بالبايت (مبدئيًا)، أو بالكيلوبايت (مع اللاحقة k)، أو بالميجابايت (مع اللاحقة m).

لاحظ أن الحصة لن تؤثر أبدًا على تنزيل ملف واحد. لذا إذا حددت wget -Q10k https://example.com/ls-lR.gz، فسيتم تنزيل كامل ملف ls-lR.gz. وينطبق الشيء نفسه حتى عند تحديد عدة عناوين URL على سطر الأوامر. يتم التحقق من الحصة فقط في نهاية كل ملف مُنزّل، لذا فلن تؤدي أبدًا إلى ملف مُنزّل جزئيًا. وبالتالي يمكنك كتابة wget -Q2m -i sites بأمان---سيتم إجهاض التنزيل بعد اكتمال تنزيل الملف الذي يستنفد الحصة.

ضبط الحصة على 0 أو inf يجعل حصة التنزيل غير محدودة.

يعطل تخزين عمليات البحث في DNS بالخبيئة. عادةً، يتذكر Wget عناوين IP التي بحث عنها في DNS حتى لا يضطر لمراسلة خادوم DNS بشكل متكرر لنفس المجموعة (الصغيرة عادةً) من المضيفين الذين يسترجع منهم. هذه الخبيئة توجد في الذاكرة فقط؛ وسوف تراسل أي دورة تشغيل جديدة لـ Wget نظام DNS مرة أخرى.

ومع ذلك، أُفيد بأنه في بعض الحالات لا يكون من المرغوب فيه تخزين أسماء المضيفين في الخبيئة، حتى طوال مدة تشغيل تطبيق قصير الأمد مثل Wget. بهذا الخيار، يصدر Wget بحث DNS جديدًا (بصورة أدق، استدعاءً جديدًا لـ "gethostbyname" أو "getaddrinfo") في كل مرة ينشئ فيها اتصالاً جديدًا. يرجى ملاحظة أن هذا الخيار لن يؤثر على التخزين في الخبيئة الذي قد تقوم به مكتبة الحل أو طبقة تخزين خارجية مثل NSCD.

إذا كنت لا تفهم بالضبط ما يفعله هذا الخيار، فمن المحتمل أنك لن تحتاجه.

يغير الشخصيات الموجودة في عناوين URL البعيدة التي يجب الهروب منها أثناء توليد أسماء الملفات المحلية. الشخصيات التي يتم تقييدها عبر هذا الخيار يتم الهروب منها، أي استبدالها بـ %HH، حيث HH هو الرقم الست عشري الذي يقابل الشخصية المقيدة. يمكن استخدام هذا الخيار أيضًا لفرض أن تكون جميع حالات الأحرف إما صغيرة أو كبيرة.

مبدئيًا، يقوم Wget بالهروب من الشخصيات غير الصالحة أو غير الآمنة كجزء من أسماء الملفات في نظام التشغيل الخاص بك، بالإضافة إلى شخصيات التحكم التي تكون عادةً غير قابلة للطباعة. هذا الخيار مفيد لتغيير هذه الإعدادات المبدئية، ربما لأنك تقوم بالتنزيل إلى قسم غير أصلي، أو لأنك تريد تعطيل الهروب من شخصيات التحكم، أو تريد تقييد الشخصيات بشكل أكبر لتشمل فقط تلك الموجودة في نطاق قيم ASCII.

الأوضاع (modes) هي مجموعة من القيم النصية المفصولة بفاصلة. القيم المقبولة هي unix و windows و nocontrol و ascii و lowercase و uppercase. القيمتان unix و windows مانعتان لبعضهما البعض (ستحل إحداهما محل الأخرى)، وكذلك lowercase و uppercase. هاتان الأخيرتان هما حالتان خاصتان، حيث لا تغيران مجموعة الشخصيات التي سيتم الهروب منها، بل تفرضان تحويل مسارات الملفات المحلية إما إلى حالة الأحرف الصغيرة أو الكبيرة.

عند تحديد "unix"، يهرب Wget من الشخصية / وشخصيات التحكم في النطاقات 0--31 و 128--159. هذا هو المبدئي في أنظمة التشغيل الشبيهة بيونكس.

عند إعطاء "windows"، يهرب Wget من الشخصيات \ و | و / و : و ? و " و * و < و >، وشخصيات التحكم في النطاقات 0--31 و 128--159. بالإضافة إلى هذا، يستخدم Wget في وضع ويندوز + بدلاً من : لفصل المضيف والمنفذ في أسماء الملفات المحلية، ويستخدم @ بدلاً من ? لفصل جزء الاستعلام عن باقي اسم الملف. لذلك، عنوان URL الذي سيُحفظ باسم www.xemacs.org:4300/search.pl?input=blah في وضع يونكس سيُحفظ باسم www.xemacs.org+4300/search.pl@input=blah في وضع ويندوز. هذا الوضع هو المبدئي في ويندوز.

إذا حددت nocontrol، فسيتم إيقاف الهروب من شخصيات التحكم أيضًا. قد يكون لهذا الخيار معنى عندما تقوم بتنزيل عناوين URL تحتوي أسماؤها على شخصيات UTF-8، على نظام يمكنه حفظ وعرض أسماء الملفات بترميز UTF-8 (بعض قيم البايت الممكنة المستخدمة في تسلسلات بايت UTF-8 تقع في نطاق القيم التي صنفها Wget كـ "تحكم").

يُستخدم وضع ascii لتحديد أن أي بايتات تقع قيمها خارج نطاق شخصيات ASCII (أي أكبر من 127) يجب الهروب منها. يمكن أن يكون هذا مفيدًا عند حفظ أسماء الملفات التي لا يطابق ترميزها الترميز المستخدم محليًا.

-4
-6
يفرض الاتصال بعناوين IPv4 أو IPv6. مع --inet4-only أو -4، سيتصل Wget فقط بمضيفي IPv4، متجاهلاً سجلات AAAA في DNS، ورافضًا الاتصال بعناوين IPv6 المحددة في عناوين URL. وبالعكس، مع --inet6-only أو -6، سيتصل Wget فقط بمضيفي IPv6 ويتجاهل سجلات A وعناوين IPv4.

لا ينبغي أن يكون أي من الخيارين مطلوباً في العادة. مبدئيًا، سيستخدم Wget المدرك لـ IPv6 عائلة العناوين المحددة في سجل DNS للمضيف. إذا استجاب DNS بكل من عناوين IPv4 و IPv6، فسيجربها Wget في تسلسل حتى يجد واحدًا يمكنه الاتصال به. (انظر أيضًا خيار "--prefer-family" الموضح أدناه.)

يمكن استخدام هذه الخيارات لفرض استخدام عائلات عناوين IPv4 أو IPv6 عمدًا على الأنظمة ذات العائلة المزدوجة، عادةً للمساعدة في التنقيح أو للتعامل مع تكوين شبكة معطل. يمكن تحديد واحد فقط من --inet6-only و --inet4-only في نفس الوقت. لا يتوفر أي من الخيارين في Wget المترجم بدون دعم IPv6.

عند إعطائه خيارًا من عدة عناوين، يتصل بالعناوين ذات عائلة العناوين المحددة أولاً. يُستخدم ترتيب العناوين الذي يرجعه DNS بدون تغيير مبدئيًا.

هذا يتجنب الأخطاء الزائفة ومحاولات الاتصال عند الوصول إلى المضيفين الذين يتم حلهم إلى كل من عناوين IPv6 و IPv4 من شبكات IPv4. على سبيل المثال، يتم حل www.kame.net إلى 2001:200:0:8002:203:47ff:fea5:3085 وإلى 203.178.141.194. عندما تكون العائلة المفضلة هي "IPv4"، يُستخدم عنوان IPv4 أولاً؛ وعندما تكون العائلة المفضلة هي "IPv6"، يُستخدم عنوان IPv6 أولاً؛ وإذا كانت القيمة المحددة هي "none"، يُستخدم ترتيب العناوين الذي يرجعه DNS دون تغيير.

بخلاف -4 و -6، لا يمنع هذا الخيار الوصول إلى أي عائلة عناوين، بل يغير فقط الترتيب الذي يتم به الوصول إلى العناوين. لاحظ أيضًا أن إعادة الترتيب التي يقوم بها هذا الخيار هي مستقرة---فهي لا تؤثر على ترتيب عناوين نفس العائلة. أي أن الترتيب النسبي لجميع عناوين IPv4 وجميع عناوين IPv6 يظل كما هو في جميع الحالات.

يعتبر "الاتصال مرفوض" خطأً عابرًا ويحاول مرة أخرى. عادةً يستسلم Wget لعنوان URL عندما لا يتمكن من الاتصال بالموقع لأن فشل الاتصال يُعتبر علامة على أن الخادوم لا يعمل على الإطلاق وأن إعادات المحاولة لن تفيد. هذا الخيار مخصص لمرآة المواقع غير الموثوقة التي تميل خواديمها للاختفاء لفترات قصيرة من الزمن.
يحدد اسم المستخدم user وكلمة السر password لكل من استرجاع ملفات FTP و HTTP. يمكن تجاوز هذه المعاملات باستخدام خياري --ftp-user و --ftp-password لاتصالات FTP وخياري --http-user و --http-password لاتصالات HTTP.
يطلب كلمة سر لكل اتصال يتم إنشاؤه. لا يمكن تحديده عند استخدام --password، لأنهما مانعان لبعضهما البعض.
يطلب اسم المستخدم وكلمة السر باستخدام الأمر المحدد. إذا لم يُحدد أي أمر، فسيُستخدم الأمر الموجود في متغير البيئة WGET_ASKPASS. وإذا لم يكن WGET_ASKPASS مضبوطًا، فسيُستخدم الأمر الموجود في متغير البيئة SSH_ASKPASS.

يمكنك ضبط الأمر المبدئي لـ use-askpass في ملف .wgetrc. ويمكن تجاوز هذا الإعداد من سطر الأوامر.

يعطل دعم معرّفات الموارد الدولية (IRI). استخدم --iri لتفعيله. دعم IRI مفعل مبدئيًا.

يمكنك ضبط الحالة المبدئية لدعم IRI باستخدام أمر "iri" في ملف .wgetrc. ويمكن تجاوز هذا الإعداد من سطر الأوامر.

يفرض على Wget استخدام encoding كترميز للنظام المبدئي. يؤثر هذا على كيفية تحويل Wget لعناوين URL المحددة كوسائط من المحلية إلى UTF-8 لدعم IRI.

يستخدم Wget وظيفة nl_langinfo() ثم متغير البيئة "CHARSET" للحصول على المحلية. وإذا فشل، يُستخدم ترميز ASCII.

يمكنك ضبط الترميز المحلي المبدئي باستخدام أمر "local_encoding" في ملف .wgetrc. ويمكن تجاوز هذا الإعداد من سطر الأوامر.

يفرض على Wget استخدام encoding كترميز الخادوم البعيد المبدئي. يؤثر هذا على كيفية تحويل Wget لمعرفات الموارد (URIs) الموجودة في الملفات من الترميز البعيد إلى UTF-8 أثناء جلب متكرر. هذا الخيار مفيد فقط لدعم IRI، لتفسير الشخصيات غير المنتمية لـ ASCII.

بالنسبة لـ HTTP، يمكن العثور على الترميز البعيد في ترويسة "Content-Type" الخاصة بـ HTTP وفي وسم ميتا HTML "Content-Type http-equiv".

يمكنك ضبط الترميز المبدئي باستخدام أمر "remoteencoding" في ملف .wgetrc. ويمكن تجاوز هذا الإعداد من سطر الأوامر.

يفرض على Wget فصل (unlink) الملف بدلاً من سحق الملف الموجود. هذا الخيار مفيد للتنزيل إلى دليل يحتوي على روابط صلبة.

خيارات الدليل

لا تُنشئ تسلسلًا هرميًا للأدلة عند الجلب الاستدعائي. بتفعيل هذا الخيار، سوف تُحفظ جميع الملفات في الدليل الحالي، دون الكتابة فوق الملفات الموجودة (إذا ظهر اسم أكثر من مرة، فستحصل أسماء الملفات على الامتدادات .n).
عكس خيار -nd---يُنشئ تسلسلًا هرميًا للأدلة، حتى لو لم يكن ليُنشأ لولا ذلك. على سبيل المثال، سيؤدي الأمر wget -x http://fly.srk.fer.hr/robots.txt إلى حفظ الملف المُنزل في fly.srk.fer.hr/robots.txt.
عطّل توليد الأدلة المسبوقة باسم المضيف. مبدئيًا، سيؤدي استدعاء Wget باستخدام -r http://fly.srk.fer.hr/ إلى إنشاء بنية أدلة تبدأ بـ fly.srk.fer.hr/. هذا الخيار يعطل هذا السلوك.
استخدم اسم البروتوكول كمكون دليل لأسماء الملفات المحلية. على سبيل المثال، باستخدام هذا الخيار، سيحفظ wget -r http://host الملفات في http/host/... بدلًا من مجرد host/....
تجاهل number من مكونات الدليل. هذا مفيد للحصول على تحكم دقيق في الدليل حيث سيُحفظ الجلب الاستدعائي.

على سبيل المثال، الدليل في ftp://ftp.xemacs.org/pub/xemacs/. إذا جلبته باستخدام -r، فسيُحفظ محليًا تحت ftp.xemacs.org/pub/xemacs/. بينما يمكن لخيار -nH إزالة جزء ftp.xemacs.org/، ستظل عالقًا مع pub/xemacs. هنا يأتي دور --cut-dirs؛ فهو يجعل Wget لا "يرى" number من مكونات الدليل البعيد. إليك عدة أمثلة على كيفية عمل خيار --cut-dirs.

        بلا خيارات         -> ftp.xemacs.org/pub/xemacs/
        -nH               -> pub/xemacs/
        -nH --cut-dirs=1  -> xemacs/
        -nH --cut-dirs=2  -> .
       
        --cut-dirs=1      -> ftp.xemacs.org/xemacs/
        ...
    

إذا كنت تريد فقط التخلص من بنية الأدلة، فإن هذا الخيار يشبه مزيجًا من -nd و -P. ومع ذلك، على عكس -nd، لا يفقد --cut-dirs الأدلة الفرعية---على سبيل المثال، مع -nH --cut-dirs=1، سيُوضع دليل beta/ الفرعي في xemacs/beta، كما هو متوقع.

اضبط بادئة الدليل إلى prefix. بادئة الدليل هي الدليل حيث ستُحفظ جميع الملفات والأدلة الفرعية الأخرى، أي قمة شجرة الجلب. القيمة المبدئية هي . (الدليل الحالي).

خيارات HTTP

استخدم name كاسم ملف مبدئي عندما لا يكون معروفًا (أي لروابط URL التي تنتهي بشرطة مائلة)، بدلًا من index.html.
إذا نُزّل ملف من نوع application/xhtml+xml أو text/html وكان رابط URL لا ينتهي بالتعبير النمطي \.[Hh][Tt][Mm][Ll]?، فسيؤدي هذا الخيار إلى إلحاق اللاحقة .html باسم الملف المحلي. هذا مفيد، على سبيل المثال، عندما تعكس موقعًا بعيدًا يستخدم صفحات .asp، لكنك تريد أن تكون الصفحات المعكوسة قابلة للعرض على خادم Apache العادي. استخدام جيد آخر لهذا هو عند تنزيل المواد المولدة بواسطة CGI. رابط URL مثل http://site.com/article.cgi?25 سيُحفظ باسم article.cgi?25.html.

لاحظ أن أسماء الملفات التي تُغيّر بهذه الطريقة سيُعاد تنزيلها في كل مرة تعيد فيها عكس الموقع، لأن Wget لا يمكنه معرفة أن الملف المحلي X.html يقابل رابط URL البعيد X (بما أنه لا يعرف بعد أن رابط URL ينتج مخرجات من نوع text/html أو application/xhtml+xml).

بدءًا من الإصدار 1.12، سيضمن Wget أيضًا أن أي ملفات مُنزلة من نوع text/css تنتهي باللاحقة .css، وغُيّر اسم الخيار من --html-extension ليعكس سلوكه الجديد بشكل أفضل. لا يزال اسم الخيار القديم مقبولًا، ولكن يجب اعتباره مهجورًا الآن.

بدءًا من الإصدار 1.19.2، سيضمن Wget أيضًا أن أي ملفات مُنزلة ذات "Content-Encoding" من نوع br أو compress أو deflate أو gzip تنتهي باللاحقة .br و .Z و .zlib و .gz على التوالي.

في وقت ما في المستقبل، قد يُوسّع هذا الخيار ليشمل لواحق لأنواع أخرى من المحتوى، بما في ذلك أنواع المحتوى التي لا يحللها Wget.

حدد اسم المستخدم user وكلمة السر password على خادم HTTP. وفقًا لنوع التحدي، سيقوم Wget بترميزهما باستخدام مخطط الاستيثاق "basic" (غير آمن)، أو "digest"، أو "NTLM" الخاص بويندوز.

طريقة أخرى لتحديد اسم المستخدم وكلمة السر هي في رابط URL نفسه. كلتا الطريقتين تكشفان كلمة السر لأي شخص يهتم بتشغيل "ps". لمنع رؤية كلمات السر، استخدم --use-askpass أو خزنها في .wgetrc أو .netrc، وتأكد من حماية تلك الملفات من المستخدمين الآخرين باستخدام "chmod". إذا كانت كلمات السر مهمة حقًا، فلا تتركها في تلك الملفات أيضًا---حرر الملفات واحذفها بعد أن يبدأ Wget التنزيل.

أوقف ميزة "keep-alive" لتنزيلات HTTP. عادةً ما يطلب Wget من الخادم إبقاء الاتصال مفتوحًا بحيث، عندما تنزل أكثر من مستند واحد من نفس الخادم، تُنقل عبر نفس اتصال TCP. هذا يوفر الوقت ويقلل في الوقت نفسه الحمل على الخادم.

هذا الخيار مفيد عندما، لسبب ما، لا تعمل الاتصالات المستمرة (keep-alive) معك، على سبيل المثال بسبب علة في الخادم أو بسبب عدم قدرة السكربتات من جانب الخادم على التعامل مع الاتصالات.

عطّل الخبيئة من جانب الخادم. في هذه الحالة، سيرسل Wget إلى الخادم البعيد التوجيهات المناسبة (Cache-Control: no-cache و Pragma: no-cache) للحصول على الملف من الخدمة البعيدة، بدلًا من إرجاع النسخة المخبأة. هذا مفيد بشكل خاص لجلب وتفريغ المستندات منتهية الصلاحية على خوادم الوكيل.

التخبئة مسموح بها مبدئيًا.

عطّل استخدام ملفات تعريف الارتباط (الكوكيز). ملفات تعريف الارتباط هي آلية للحفاظ على الحالة من جانب الخادم. يرسل الخادم للعميل كوكيز باستخدام رأس "Set-Cookie"، ويستجيب العميل بنفس الكوكيز عند الطلبات اللاحقة. بما أن الكوكيز تسمح لأصحاب الخوادم بتتبع الزوار وللمواقع بتبادل هذه المعلومات، يعتبرها البعض انتهاكًا للخصوصية. المبدئي هو استخدام الكوكيز؛ ومع ذلك، فإن تخزين الكوكيز ليس مفعلًا مبدئيًا.
حمّل الكوكيز من file قبل أول جلب HTTP. file هو ملف نصي بالتنسيق المستخدم أصلًا في ملف cookies.txt الخاص بـ Netscape.

ستستخدم هذا الخيار عادةً عند عكس المواقع التي تتطلب منك تسجيل الدخول للوصول إلى بعض أو كل محتواها. تعمل عملية تسجيل الدخول عادةً عن طريق إصدار خادم الويب لكوكيز HTTP عند استلام والتحقق من بيانات اعتمادك. ثم يُعاد إرسال الكوكيز بواسطة المتصفح عند الوصول إلى ذلك الجزء من الموقع، وبذلك يثبت هويتك.

يتطلب عكس مثل هذا الموقع أن يرسل Wget نفس الكوكيز التي يرسلها متصفحك عند التواصل مع الموقع. ويتحقق ذلك من خلال --load-cookies---ببساطة وجه Wget إلى موقع ملف cookies.txt، وسيرسل نفس الكوكيز التي سيرسلها متصفحك في نفس الحالة. تحتفظ المتصفحات المختلفة بملفات الكوكيز النصية في مواقع مختلفة:

"Netscape 4.x."
الكوكيز موجودة في ~/.netscape/cookies.txt.
"Mozilla and Netscape 6.x."
يُسمى ملف الكوكيز الخاص بـ Mozilla أيضًا cookies.txt، ويقع في مكان ما تحت ~/.mozilla، في دليل تشكيلتك. ينتهي المسار الكامل عادةً ليبدو بشكل ما مثل ~/.mozilla/default/some-weird-string/cookies.txt.
"Internet Explorer."
يمكنك إنتاج ملف كوكيز يمكن لـ Wget استخدامه عن طريق استخدام قائمة ملف (File)، استيراد وتصدير (Import and Export)، تصدير الكوكيز (Export Cookies). اختُبر هذا مع Internet Explorer 5؛ ولا نضمن عمله مع الإصدارات الأقدم.
"Other browsers."
إذا كنت تستخدم متصفحًا مختلفًا لإنشاء الكوكيز الخاصة بك، فإن --load-cookies سيعمل فقط إذا تمكنت من تحديد موقع أو إنتاج ملف كوكيز بتنسيق Netscape الذي يتوقعه Wget.

إذا لم تستطع استخدام --load-cookies، فقد يظل هناك بديل. إذا كان متصفحك يدعم "مدير كوكيز"، يمكنك استخدامه لعرض الكوكيز المستخدمة عند الوصول إلى الموقع الذي تعكسه. دون اسم وقيمة الكوكيز، ووجه Wget يدويًا لإرسال تلك الكوكيز، متجاوزًا دعم الكوكيز "الرسمي":

        wget --no-cookies --header "Cookie: <name>=<value>"
احفظ الكوكيز في file قبل الخروج. لن يحفظ هذا الكوكيز التي انتهت صلاحيتها أو التي ليس لها وقت انتهاء (ما يسمى "كوكيز الجلسة")، ولكن انظر أيضًا --keep-session-cookies.
عند تحديده، يجعل --save-cookies يحفظ أيضًا كوكيز الجلسة. كوكيز الجلسة لا تُحفظ عادةً لأن المقصود منها البقاء في الذاكرة ونسيانها عند الخروج من المتصفح. حفظها مفيد في المواقع التي تتطلب منك تسجيل الدخول أو زيارة الصفحة الرئيسية قبل أن تتمكن من الوصول إلى بعض الصفحات. مع هذا الخيار، تُعتبر عمليات تشغيل Wget المتعددة جلسة متصفح واحدة بالنسبة للموقع.

بما أن تنسيق ملف الكوكيز لا يحمل عادةً كوكيز الجلسة، فإن Wget يسمها بطابع زمني لانتهاء الصلاحية قيمته 0. يتعرف خيار --load-cookies الخاص بـ Wget على هذه ككوكيز جلسة، ولكن قد يربك ذلك المتصفحات الأخرى. لاحظ أيضًا أن الكوكيز المحملة بهذه الطريقة ستُعامل مثل كوكيز الجلسة الأخرى، مما يعني أنه إذا كنت تريد من --save-cookies الحفاظ عليها مرة أخرى، يجب عليك استخدام --keep-session-cookies مرة أخرى.

لسوء الحظ، ترسل بعض خوادم HTTP (برامج CGI، لكي نكون أكثر دقة) رؤوس "Content-Length" زائفة، مما يجعل Wget يخرج عن السيطرة، لأنه يعتقد أنه لم يُجلب المستند بالكامل. يمكنك اكتشاف هذه المتلازمة إذا حاول Wget جلب نفس المستند مرارًا وتكرارًا، مدعيًا في كل مرة أن الاتصال (الذي يكون طبيعيًا لولا ذلك) قد أُغلق عند نفس البايت تمامًا.

باستخدام هذا الخيار، سيتجاهل Wget رأس "Content-Length"---كما لو أنه لم يكن موجودًا أصلًا.

أرسل header-line مع بقية الرؤوس في كل طلب HTTP. يُرسل الرأس المقدم كما هو، مما يعني أنه يجب أن يحتوي على الاسم والقيمة مفصولين بنقطتين رأسيتين، ويجب ألا يحتوي على أسطر جديدة.

يمكنك تحديد أكثر من رأس إضافي واحد عن طريق تحديد --header أكثر من مرة.

        wget --header='Accept-Charset: iso-8859-2' \
             --header='Accept-Language: hr'        \
               http://fly.srk.fer.hr/
    

تحديد سلسلة فارغة كقيمة للرأس سيؤدي إلى مسح جميع الرؤوس السابقة التي حددها المستخدم.

بدءًا من Wget 1.10، يمكن استخدام هذا الخيار لتجاوز الرؤوس التي تُولد آليًا بخلاف ذلك. هذا المثال يوجه Wget للاتصال بـ localhost، ولكن مع تحديد foo.bar في رأس "Host":

        wget --header="Host: foo.bar" http://localhost/
    

في إصدارات Wget الأقدم من 1.10، تسبب هذا الاستخدام لـ --header في إرسال رؤوس مكررة.

اختر نوع الضغط المراد استخدامه. القيم المسموح بها هي auto، و gzip و none.

إذا حُدد auto أو gzip، يطلب Wget من الخادم ضغط الملف باستخدام تنسيق ضغط gzip. إذا قام الخادم بضغط الملف واستجاب مع تعيين حقل رأس "Content-Encoding" بشكل مناسب، فسيُفك ضغط الملف آليًا.

إذا حُدد none، فلن يطلب wget من الخادم ضغط الملف ولن يفك ضغط أي استجابات من الخادم. هذا هو المبدئي.

دعم الضغط تجريبي حاليًا. في حال تفعيله، يرجى الإبلاغ عن أي علل إلى "bug-wget@gnu.org".

يحدد الحد الأقصى لعدد عمليات إعادة التوجيه التي يجب اتباعها لمورد ما. المبدئي هو 20، وهو عادةً أكثر بكثير مما هو ضروري. ومع ذلك، في تلك المناسبات التي تريد فيها السماح بالمزيد (أو الأقل)، هذا هو الخيار المستخدم.
حدد اسم المستخدم user وكلمة السر password للاستيثاق على خادم وكيل. سيقوم Wget بترميزهما باستخدام مخطط استيثاق "basic".

اعتبارات أمنية مماثلة لتلك الخاصة بـ --http-password تنطبق هنا أيضًا.

أدرج رأس `Referer: url' في طلب HTTP. مفيد لـ جلب المستندات التي تتطلب معالجة من جانب الخادم والتي تفترض أنها تُجلب دائمًا بواسطة متصفحات ويب تفاعلية ولا تظهر بشكل صحيح إلا عندما يُضبط المُحيل (Referer) إلى إحدى الصفحات التي تشير إليها.
احفظ الرؤوس المرسلة من قبل خادم HTTP في الملف، مسبوقة بـ المحتويات الفعلية، مع سطر فارغ كفاصل.
عرّف نفسك كـ agent-string لخادم HTTP.

يسمح بروتوكول HTTP للعملاء بالتعريف عن أنفسهم باستخدام حقل رأس "User-Agent". يتيح ذلك تمييز برمجيات ويب، عادةً لأغراض إحصائية أو لتتبع انتهاكات البروتوكول. يعرّف Wget نفسه عادةً كـ Wget/version، حيث version هو رقم الإصدار الحالي لـ Wget.

ومع ذلك، عُرف عن بعض المواقع فرض سياسة تفصيل المخرجات وفقًا للمعلومات المقدمة في "User-Agent". وبينما لا تعد هذه فكرة سيئة نظريًا، فقد أُسيء استخدامها من قبل خوادم تحرم العملاء من المعلومات بخلاف (تاريخيًا) Netscape أو، بشكل متكرر أكثر، Microsoft Internet Explorer. يتيح لك هذا الخيار تغيير سطر "User-Agent" الذي يصدره Wget. لا يُنصح باستخدام هذا الخيار، إلا إذا كنت تعرف حقًا ما تفعله.

تحديد وكيل مستخدم فارغ باستخدام --user-agent="" يوجه Wget بعدم إرسال رأس "User-Agent" في طلبات HTTP.

استخدم POST كطريقة لجميع طلبات HTTP وأرسل البيانات المحددة في متن الطلب. يرسل --post-data السلسلة string كبيانات، بينما يرسل --post-file محتويات file. بخلاف ذلك، فإنهما يعملان بنفس الطريقة تمامًا. وبشكل خاص، كلاهما يتوقع محتوى من النموذج "key1=value1&key2=value2"، مع ترميز النسبة المئوية للأحرف الخاصة؛ الفرق الوحيد هو أن أحدهما يتوقع محتواه كمعامل سطر أوامر والآخر يقبل محتواه من ملف. وبشكل خاص، --post-file ليس لنقل الملفات كمرفقات نموذج: يجب أن تظهر هذه كبيانات "key=value" (مع ترميز النسبة المئوية المناسب) تمامًا مثل أي شيء آخر. لا يدعم Wget حاليًا "multipart/form-data" لنقل بيانات POST؛ فقط "application/x-www-form-urlencoded". يجب تحديد واحد فقط من --post-data و --post-file.

يرجى ملاحظة أن wget لا يتطلب أن يكون المحتوى من النموذج "key1=value1&key2=value2"، ولا يختبر ذلك. سيقوم Wget ببساطة بنقل أي بيانات تقدم له. ومع ذلك، تتوقع معظم الخوادم أن تكون بيانات POST بالتنسيق أعلاه عند معالجة نماذج HTML.

عند إرسال طلب POST باستخدام خيار --post-file، يعامل Wget الملف كملف ثنائي وسيرسل كل حرف في طلب POST دون تجريد أسطر جديدة لاحقة أو أحرف تغذية الصفحة. أي أحرف تحكم أخرى في النص ستُرسل أيضًا كما هي في طلب POST.

يرجى العلم أن Wget يحتاج إلى معرفة حجم بيانات POST مسبقًا. لذلك يجب أن يكون المعامل لـ "--post-file" ملفًا عاديًا؛ لن يعمل تحديد FIFO أو شيء مثل /dev/stdin. ليس من الواضح تمامًا كيفية الالتفاف على هذا القيد المتأصل في HTTP/1.0. على الرغم من أن HTTP/1.1 يقدم النقل المجزأ (chunked) الذي لا يتطلب معرفة طول الطلب مسبقًا، إلا أن العميل لا يمكنه استخدام النقل المجزأ ما لم يعرف أنه يتحدث إلى خادم HTTP/1.1. ولا يمكنه معرفة ذلك حتى يتلقى استجابة، والتي بدورها تتطلب اكتمال الطلب -- مشكلة البيضة والدجاجة.

ملاحظة: بدءًا من الإصدار 1.15 إذا أُعيد توجيه Wget بعد اكتمال طلب POST، فسيعتمد سلوكه على رمز الاستجابة الذي أرجعه الخادم. في حالة 301 (نُقل بشكل دائم)، أو 302 (نُقل مؤقتًا) أو 307 (إعادة توجيه مؤقتة)، سيستمر Wget، وفقًا لـ RFC2616، في إرسال طلب POST. في حال أراد الخادم من العميل تغيير طريقة الطلب عند إعادة التوجيه، فيجب عليه إرسال رمز الاستجابة 303 (انظر غيره).

يوضح هذا المثال كيفية تسجيل الدخول إلى خادم باستخدام POST ثم المتابعة لتنزيل الصفحات المطلوبة، والتي يفترض أنها متاحة فقط للمستخدمين المأذون لهم:

        # سجل الدخول إلى الخادم. يمكن فعل ذلك مرة واحدة فقط.
        wget --save-cookies cookies.txt \
             --post-data 'user=foo&password=bar' \
             http://example.com/auth.php
       
        # الآن جلب الصفحة أو الصفحات التي نهتم بها.
        wget --load-cookies cookies.txt \
             -p http://example.com/interesting/article.php
    

إذا كان الخادم يستخدم كوكيز الجلسة لتتبع استيثاق المستخدم، فإن ما ورد أعلاه لن يعمل لأن --save-cookies لن يحفظها (وكذلك المتصفحات) وسيكون ملف cookies.txt فارغًا. في هذه الحالة استخدم --keep-session-cookies مع --save-cookies لفرض حفظ كوكيز الجلسة.

لغرض سكربتات RESTful، يسمح Wget بإرسال طرق HTTP أخرى دون الحاجة إلى تعيينها صراحةً باستخدام --header=Header-Line. سيستخدم Wget أي سلسلة تُمرر إليه بعد --method كطريقة HTTP إلى الخادم.
يجب ضبطه عندما يلزم إرسال بيانات إضافية إلى الخادم مع الطريقة المحددة باستخدام --method. يرسل --body-data السلسلة string كبيانات، بينما يرسل --body-file محتويات file. بخلاف ذلك، فإنهما يعملان بنفس الطريقة تمامًا.

حاليًا، --body-file ليس لنقل الملفات ككل. لا يدعم Wget حاليًا "multipart/form-data" لنقل البيانات؛ فقط "application/x-www-form-urlencoded". في المستقبل، قد يُغير هذا بحيث يرسل wget ملف --body-file كملف كامل بدلًا من إرسال محتوياته إلى الخادم. يرجى العلم أن Wget يحتاج إلى معرفة محتويات بيانات المتن (BODY) مسبقًا، وبالتالي يجب أن يكون المعامل لـ --body-file ملفًا عاديًا. انظر --post-file للحصول على شرح أكثر تفصيلاً. يجب تحديد واحد فقط من --body-data و --body-file.

إذا أُعيد توجيه Wget بعد اكتمال الطلب، فسيقوم Wget بتعليق الطريقة الحالية وإرسال طلب GET حتى تكتمل إعادة التوجيه. هذا صحيح لجميع رموز استجابة إعادة التوجيه باستثناء 307 (إعادة توجيه مؤقتة) والذي يُستخدم لتحديد صراحةً أن طريقة الطلب يجب ألا تتغير. استثناء آخر هو عندما تُضبط الطريقة على "POST"، وفي هذه الحالة تُتبع قواعد إعادة التوجيه المحددة تحت --post-data.

إذا ضُبط هذا على وضع التشغيل (on)، فسيُفعل الدعم التجريبي (غير الوظيفي بالكامل) لرؤوس "Content-Disposition". يمكن أن يؤدي هذا حاليًا إلى رحلات ذهاب وإياب إضافية إلى الخادم لطلب "HEAD"، ومن المعروف أنه يعاني من بعض العلل، وهذا هو سبب عدم تفعيله مبدئيًا حاليًا.

هذا الخيار مفيد لبعض برامج CGI لتنزيل الملفات التي تستخدم رؤوس "Content-Disposition" لوصف ما يجب أن يكون عليه اسم الملف المُنزل.

عند دمجه مع --metalink-over-http و --trust-server-names، تتم تسمية ملف Content-Type: application/metalink4+xml باستخدام حقل اسم الملف في "Content-Disposition"، إذا كان متاحًا.

إذا ضُبط هذا على وضع التشغيل (on)، فلن يتخطى wget المحتوى عندما يستجيب الخادم برمز حالة http يشير إلى خطأ.
إذا ضُبط هذا الخيار، فسيعتمد اسم الملف المحلي عند إعادة التوجيه على عنوان URL المُعاد التوجيه إليه. يعتمد اسم الملف المحلي مبدئيًا على عنوان URL الأصلي. يفيد هذا عند إجراء جلب متكرر لأن عناوين URL المُعاد توجيهها في الكثير من مواقع الويب تقابل بنية ملفات أساسية، بينما لا تفعل ذلك عناوين URL الخاصة بالروابط.
إذا أُعطي هذا الخيار، سيرسل Wget معلومات الاستيثاق الأساسية لبروتوكول HTTP (اسم المستخدم وكلمة السر بنص صرف) لجميع الطلبات، تمامًا كما كان يفعل Wget 1.10.2 وما قبله مبدئيًا.

لا يُنصح باستخدام هذا الخيار، وهو مخصص فقط لدعم بعض الخوادم الغامضة القليلة التي لا ترسل أبدًا تحديات استيثاق HTTP، ولكنها تقبل معلومات استيثاق غير مطلوبة، بالإضافة إلى الاستيثاق القائم على النماذج مثلًا.

اعتبار أخطاء المضيف، مثل "فشل مؤقت في حل الاسم"، أخطاءً عابرة وغير قاتلة.
اعتبار رموز استجابة HTTP المعطاة أخطاءً عابرة وغير قاتلة. مرر قائمة مفصولة بفاصلات لرموز استجابة HTTP المكونة من 3 أرقام كمعامل. يفيد هذا في التحايل على ظروف خاصة تتطلب إعادة المحاولة، ولكن الخادم يستجيب برمز خطأ لا يعيد Wget المحاولة عنده عادةً. قد تكون هذه الأخطاء 503 (الخدمة غير متوفرة) و 429 (طلبات كثيرة جدًا). تخضع عمليات إعادة المحاولة المُمكّنة بهذا الخيار لتوقيت إعادة المحاولة المعتاد وقيود عدد مرات إعادة المحاولة في Wget.

استخدام هذا الخيار مخصص لدعم حالات استخدام خاصة فقط ولا يُنصح به عمومًا، لأنه قد يفرض إعادة المحاولة حتى في الحالات التي يحاول فيها الخادم فعليًا تقليل حمله. يرجى استخدامه بحكمة وفقط إذا كنت تعرف ما تفعله.

خيارات HTTPS (SSL/TLS)

لدعم تنزيلات HTTP المُعماة (HTTPS)، يجب أن يُصرّف Wget مع مكتبة SSL خارجية. المبدئي الحالي هو GnuTLS. بالإضافة إلى ذلك، يدعم Wget أيضًا HSTS (أمن النقل الصارم لـ HTTP). إذا صُرّف Wget بدون دعم SSL، فلن تتوفر أي من هذه الخيارات.

اختر البروتوكول الآمن المراد استخدامه. القيم المسموح بها هي auto، و SSLv2، و SSLv3، و TLSv1، و TLSv1_1، و TLSv1_2، و TLSv1_3 و PFS. إذا استُخدم auto، تُمنح مكتبة SSL حرية اختيار البروتوكول المناسب آليًا، ويتحقق ذلك بإرسال تحية TLSv1. هذا هو الخيار المبدئي.

تحديد SSLv2، أو SSLv3، أو TLSv1، أو TLSv1_1، أو TLSv1_2، أو TLSv1_3 يفرض استخدام البروتوكول المقابل. يفيد هذا عند التحدث إلى تطبيقات خوادم SSL القديمة والمليئة بالعلل التي تجعل من الصعب على مكتبة SSL الأساسية اختيار إصدار البروتوكول الصحيح. لحسن الحظ، هذه الخوادم نادرة جدًا.

تحديد PFS يفرض استخدام ما يسمى بمجموعات شفرات "أمن التوجيه المثالي". باختصار، يضيف PFS أمانًا عن طريق إنشاء مفتاح لمرة واحدة لكل اتصال SSL. له تأثير أكبر قليلاً على وحدة المعالجة المركزية في العميل والخادم. نحن نستخدم شفرات معروفة بأنها آمنة (مثل لا MD4) وبروتوكول TLS. يستبعد هذا الوضع أيضًا صراحةً طرق تبادل المفاتيح غير التابعة لـ PFS، مثل RSA.

عندما يكون في الوضع المتكرر، تُتبع روابط HTTPS فقط.
اضبط سلسلة قائمة الشفرات. عادةً ما تحدد هذه السلسلة مجموعات الشفرات وخيارات SSL/TLS الأخرى التي يرغب المستخدم في استخدامها، بترتيب مفضل محدد (تسميها GnuTLS 'سلسلة الأولوية'). ستُغذى هذه السلسلة حرفيًا لمحرك SSL/TLS (OpenSSL أو GnuTLS) وبالتالي يعتمد تنسيقها وصياغتها على ذلك. لن يقوم Wget بمعالجتها أو التلاعب بها بأي شكل من الأشكال. ارجع إلى وثائق OpenSSL أو GnuTLS لمزيد من المعلومات.
عدم التحقق من شهادة الخادم مقابل سلطات التصديق المتاحة. وأيضًا عدم اشتراط تطابق اسم مضيف عنوان URL مع الاسم الشائع المقدم في الشهادة.

بدءًا من Wget 1.10، أصبح المبدئي هو التحقق من شهادة الخادم مقابل سلطات التصديق المعترف بها، مما يقطع مصافحة SSL ويوقف التنزيل إذا فشل التحقق. على الرغم من أن هذا يوفر تنزيلات أكثر أمانًا، إلا أنه يكسر التوافق التشغيلي مع بعض المواقع التي كانت تعمل مع إصدارات Wget السابقة، خاصة تلك التي تستخدم شهادات ذاتية التوقيع، أو منتهية الصلاحية، أو غير صالحة بأي شكل آخر. يفرض هذا الخيار وضع تشغيل "غير آمن" يحول أخطاء التحقق من الشهادة إلى تحذيرات ويسمح لك بالمتابعة.

إذا واجهت أخطاء "التحقق من الشهادة" أو تلك التي تقول إن "الاسم الشائع لا يطابق اسم المضيف المطلوب"، يمكنك استخدام هذا الخيار لتجاوز التحقق والمتابعة في التنزيل. استخدم هذا الخيار فقط إذا كنت مقتنعًا بخلاف ذلك بأصالة الموقع، أو إذا كنت لا تهتم حقًا بصلاحية شهادته. يكاد يكون من السيئ دائمًا عدم التحقق من الشهادات عند نقل بيانات سرية أو مهمة. بالنسبة للشهادات ذاتية التوقيع/الداخلية، يجب تنزيل الشهادة والتحقق منها بدلاً من فرض هذا الوضع غير الآمن. إذا كنت متأكدًا حقًا من عدم رغبتك في أي تحقق من الشهادة، يمكنك تحديد --check-certificate=quiet لإخبار wget بعدم طباعة أي تحذير بشأن الشهادات غير الصالحة، وإن كان هذا في معظم الحالات هو التصرف الخاطئ.

استخدم شهادة العميل المخزنة في ملف. هذا مطلوب للخوادم التي ضُبطت لتطلب شهادات من العملاء الذين يتصلون بها. عادةً لا تُطلب شهادة وهذا التبديل اختياري.
حدد نوع شهادة العميل. القيم المسموح بها هي PEM (مفترض مبدئيًا) و DER، المعروف أيضًا باسم ASN1.
قراءة المفتاح الخاص من ملف. يتيح لك هذا تقديم المفتاح الخاص في ملف منفصل عن الشهادة.
حدد نوع المفتاح الخاص. القيم المقبولة هي PEM (المبدئية) و DER.
استخدم ملف كملف يحتوي على حزمة سلطات التصديق ("CA") للتحقق من الأطراف. يجب أن تكون الشهادات بتنسيق PEM.

بدون هذا الخيار، يبحث Wget عن شهادات CA في المواقع المحددة من قبل النظام، والتي تم اختيارها في وقت تثبيت OpenSSL.

يحدد الدليل الذي يحتوي على شهادات CA بتنسيق PEM. يحتوي كل ملف على شهادة CA واحدة، ويعتمد اسم الملف على قيمة هاش مشتقة من الشهادة. يتحقق ذلك عن طريق معالجة دليل الشهادات باستخدام أداة "c_rehash" المرفقة مع OpenSSL. استخدام --ca-directory أكثر كفاءة من --ca-certificate عند تثبيت العديد من الشهادات لأنه يسمح لـ Wget بجلب الشهادات عند الطلب.

بدون هذا الخيار، يبحث Wget عن شهادات CA في المواقع المحددة من قبل النظام، والتي تم اختيارها في وقت تثبيت OpenSSL.

يحدد ملف قائمة إبطال الشهادات (CRL) في ملف. هذا مطلوب للشهادات التي أُبطلت من قبل سلطات التصديق.
يخبر wget باستخدام ملف المفتاح العام المحدد (أو الهاشات) للتحقق من الطرف الآخر. يمكن أن يكون هذا مسارًا لملف يحتوي على مفتاح عام واحد بتنسيق PEM أو DER، أو أي عدد من هاشات sha256 المرمزة بـ base64 والمسبوقة بـ "sha256//" والمفصولة بـ ";"

عند التفاوض على اتصال TLS أو SSL، يرسل الخادم شهادة تشير إلى هويته. يُستخرج مفتاح عام من هذه الشهادة، وإذا لم يطابق تمامًا المفتاح (أو المفاتيح) العامة المقدمة لهذا الخيار، فسيقطع wget الاتصال قبل إرسال أو استقبال أي بيانات.

[OpenSSL و LibreSSL فقط] استخدم ملف كمصدر للبيانات العشوائية لبذر مولد الأرقام العشوائية الزائفة على الأنظمة التي لا تحتوي على /dev/urandom.

في مثل هذه الأنظمة، تحتاج مكتبة SSL إلى مصدر خارجي للعشوائية للتهيئة. يمكن توفير العشوائية عن طريق EGD (انظر --egd-file أدناه) أو قراءتها من مصدر خارجي يحدده المستخدم. إذا لم يُحدد هذا الخيار، يبحث Wget عن بيانات عشوائية في $RANDFILE أو، إذا لم يكن مضبوطًا، في $HOME/.rnd.

إذا كنت تتلقى الخطأ "Could not seed OpenSSL PRNG; disabling SSL."، فيجب عليك توفير بيانات عشوائية باستخدام بعض الطرق الموضحة أعلاه.

[OpenSSL فقط] استخدم ملف كمقبس EGD. يرمز EGD إلى عفريت جمع الإنتروبيا، وهو برنامج في مساحة المستخدم يجمع البيانات من مصادر النظام المتنوعة غير المتوقعة ويجعلها متاحة للبرامج الأخرى التي قد تحتاج إليها. تحتاج برمجيات التعمية، مثل مكتبة SSL، إلى مصادر عشوائية غير متكررة لبذر مولد الأرقام العشوائية المستخدم لإنتاج مفاتيح قوية تعموِيًا.

يسمح OpenSSL للمستخدم بتحديد مصدر الإنتروبيا الخاص به باستخدام متغير البيئة "RAND_FILE". إذا لم يكن هذا المتغير مضبوطًا، أو إذا كان الملف المحدد لا ينتج عشوائية كافية، فسيقرأ OpenSSL بيانات عشوائية من مقبس EGD المحدد باستخدام هذا الخيار.

إذا لم يُحدد هذا الخيار (ولم يُستخدم أمر التشغيل المكافئ)، فلن يتم الاتصال بـ EGD أبدًا. لا توجد حاجة إلى EGD في أنظمة يونكس الحديثة التي تدعم /dev/urandom.

يدعم Wget مبدئيًا HSTS (أمن النقل الصارم لـ HTTP، وفق RFC 6797). استخدم --no-hsts لجعل Wget يتصرف كوكيل مستخدم غير متوافق مع HSTS. ونتيجة لذلك، سيتجاهل Wget جميع ترويسات "Strict-Transport-Security"، ولن يفرض أي سياسة HSTS موجودة.
يخزن Wget قاعدة بيانات HSTS الخاصة به مبدئيًا في ~/.wget-hsts. يمكنك استخدام --hsts-file لتجاوز ذلك. سيستخدم Wget الملف المقدم كقاعدة بيانات HSTS. يجب أن يتوافق هذا الملف مع تنسيق قاعدة بيانات HSTS الصحيح الذي يستخدمه Wget. إذا لم يتمكن Wget من تحليل الملف المقدم، فسيكون السلوك غير محدد.

قاعدة بيانات HSTS الخاصة بـ Wget هي ملف نصي صرف. يحتوي كل سطر على مدخلة HSTS (أي موقع أصدر ترويسة "Strict-Transport-Security" وبالتالي حدد سياسة HSTS ملموسة ليتم تطبيقها). يتجاهل Wget الأسطر التي تبدأ بشرطة ("#"). يرجى ملاحظة أنه على الرغم من سهولة القراءة البشرية هذه، فإن التعديل اليدوي لقاعدة بيانات HSTS ليس فكرة جيدة عمومًا.

يتكون سطر مدخلة HSTS من عدة حقول مفصولة بمسافة بيضاء واحدة أو أكثر:

"<اسم_المضيف> SP [<المنفذ>] SP <تضمين_النطاقات_الفرعية> SP <تاريخ_الإنشاء> SP <أقصى_عمر>"

يشير حقلا hostname و port إلى اسم المضيف والمنفذ اللذين تُطبق عليهما سياسة HSTS المعطاة. قد يكون حقل port صفرًا، وسيكون كذلك في معظم الحالات. وهذا يعني أن رقم المنفذ لن يؤخذ في الاعتبار عند تحديد ما إذا كان يجب تطبيق سياسة HSTS هذه على طلب معين (سيُقيّم اسم المضيف فقط). عندما يكون port مختلفًا عن الصفر، سيُقيّم كل من اسم المضيف والمنفذ المستهدف ولن تُطبق سياسة HSTS إلا إذا تطابق كلاهما. أُدرجت هذه الميزة لأغراض الاختبار/التطوير فقط. تنشئ مجموعة اختبار Wget (في testenv/) قواعد بيانات HSTS بمنافذ صريحة لغرض ضمان سلوك Wget الصحيح. لا يُنصح بتطبيق سياسات HSTS على منافذ غير المنافذ المبدئية وفق RFC 6797 (انظر الملحق ب "الاختلافات بين سياسة HSTS وسياسة المنشأ نفسه"). وبالتالي، لا ينبغي استخدام هذه الوظيفة في بيئات الإنتاج وسيكون port عادةً صفرًا. الحقول الثلاثة الأخيرة تفعل ما هو متوقع منها. يمكن أن يكون الحقل include_subdomains إما 1 أو 0 ويشير إلى ما إذا كان ينبغي أن تكون النطاقات الفرعية للنطاق المستهدف جزءًا من سياسة HSTS المعطاة أيضًا. يحمل حقلا created و max-age قيم الطابع الزمني لوقت إنشاء هذه المدخلة (أول رؤية بواسطة Wget) والقيمة المحددة في HSTS وهي 'max-age'، والتي تحدد المدة التي يجب أن تظل فيها سياسة HSTS نشطة، مقاسة بالثواني المنقضية منذ الطابع الزمني المخزن في created. بمجرد مرور ذلك الوقت، لن تعد سياسة HSTS تلك صالحة وستُزال في النهاية من قاعدة البيانات.

إذا قدمت قاعدة بيانات HSTS الخاصة بك عبر --hsts-file، فكن على علم بأن Wget قد يعدل الملف المقدم إذا حدث أي تغيير بين سياسات HSTS التي طلبتها الخوادم البعيدة وتلك الموجودة في الملف. عندما يخرج Wget، فإنه يحدث فعليًا قاعدة بيانات HSTS عن طريق إعادة كتابة ملف قاعدة البيانات بالمدخلات الجديدة.

إذا كان الملف المقدم غير موجود، فسينشئ Wget واحدًا. سيحتوي هذا الملف على مدخلات HSTS الجديدة. إذا لم تُنشأ أي مدخلات HSTS (لم ترسل أي من الخوادم ترويسات "Strict-Transport-Security") فلن يُنشأ أي ملف، ولا حتى ملف فارغ. ينطبق هذا السلوك على ملف قاعدة البيانات المبدئي (~/.wget-hsts) أيضًا: لن يُنشأ حتى يفرض خادم ما سياسة HSTS.

تُبذل العناية لعدم تجاوز التغييرات المحتملة التي تجريها عمليات Wget الأخرى في نفس الوقت على قاعدة بيانات HSTS. قبل تفريغ مدخلات HSTS المحدثة في الملف، سيعيد Wget قراءته ويدمج التغييرات.

لا يُنصح باستخدام قاعدة بيانات HSTS مخصصة و/أو تعديل واحدة موجودة. لمزيد من المعلومات حول التهديدات الأمنية المحتملة الناشئة عن مثل هذه الممارسة، انظر القسم 14 "اعتبارات أمنية" من RFC 6797، وخاصة القسم 14.9 "التلاعب الإبداعي بمخزن سياسة HSTS".

استخدم ملف كملف WARC الوجهة.
استخدم سلسلة في سجل warcinfo.
اضبط الحد الأقصى لحجم ملفات WARC على حجم.
كتابة ملفات فهرس CDX.
عدم تخزين السجلات المدرجة في ملف CDX هذا.
عدم ضغط ملفات WARC باستخدام GZIP.
عدم حساب خلاصات (digests) SHA1.
عدم تخزين ملف السجل في سجل WARC.
حدد موقع الملفات المؤقتة التي ينشئها كاتب WARC.

خيارات FTP

حدد اسم المستخدم مستخدم وكلمة السر كلمة_السر على خادم FTP. بدون هذا، أو خيار التشغيل المقابل، تكون كلمة السر المبدئية هي -wget@، والتي تُستخدم عادةً لـ FTP المجهول.

توجد طريقة أخرى لتحديد اسم المستخدم وكلمة السر وهي في عنوان URL نفسه. تُظهر أي من الطريقتين كلمة السر الخاصة بك لأي شخص يكلف نفسه عناء تشغيل "ps". لمنع رؤية كلمات السر، خزنها في .wgetrc أو .netrc، وتأكد من حماية تلك الملفات من المستخدمين الآخرين باستخدام "chmod". إذا كانت كلمات السر مهمة حقًا، فلا تتركها في تلك الملفات أيضًا --- حرر الملفات واحذفها بعد أن يبدأ Wget التنزيل.

عدم إزالة ملفات .listing المؤقتة الناتجة عن عمليات جلب FTP. تحتوي هذه الملفات عادةً على قوائم الدليل الخام المستلمة من خوادم FTP. قد يكون عدم إزالتها مفيدًا لأغراض التنقِيح، أو عندما تريد أن تكون قادرًا على التحقق بسهولة من محتويات أدلة الخادم البعيد (على سبيل المثال للتحقق من اكتمال المرآة التي تشغلها).

لاحظ أنه على الرغم من أن Wget يكتب في اسم ملف معروف لهذا الملف، إلا أن هذا لا يشكل ثغرة أمنية في حالة قيام مستخدم بجعل .listing رابطًا رمزيًا لـ /etc/passwd أو شيء من هذا القبيل وطلب من "root" تشغيل Wget في دليله. اعتمادًا على الخيارات المستخدمة، فإما سيرفض Wget الكتابة في .listing، مما يؤدي إلى فشل عملية التجميع/التكرار/ختم الوقت، أو سيُحذف الرابط الرمزي ويُستبدل بملف .listing الفعلي، أو ستُكتب القائمة في ملف .listing.number.

وعلى الرغم من أن هذا الموقف لا يمثل مشكلة، إلا أنه لا ينبغي لـ "root" أبدًا تشغيل Wget في دليل مستخدم غير موثوق به. يمكن للمستخدم القيام بشيء بسيط مثل ربط index.html بـ /etc/passwd وطلب من "root" تشغيل Wget مع -N أو -r حتى يُكتب فوق الملف.

إيقاف تجميع (globbing) FTP. يشير التجميع إلى استخدام محارف خاصة شبيهة بالصدفة (wildcards)، مثل * و ? و [ و ] لجلب أكثر من ملف من نفس الدليل في وقت واحد، مثل:

        wget ftp://gnjilux.srk.fer.hr/*.msg
    

مبدئيًا، سيُفعّل التجميع إذا كان عنوان URL يحتوي على محرف تجميع. يمكن استخدام هذا الخيار لتفعيل أو تعطيل التجميع بشكل دائم.

قد تضطر إلى وضع عنوان URL بين علامتي اقتباس لحمايته من التوسع بواسطة الصدفة. يجعل التجميع Wget يبحث عن قائمة الدليل، وهي خاصة بالنظام. لهذا السبب يعمل حاليًا فقط مع خوادم يونكس FTP (وتلك التي تحاكي مخرجات يونكس "ls").

تعطيل استخدام وضع نقل FTP السلبي. يتطلب FTP السلبي أن يتصل العميل بالخادم لإنشاء اتصال البيانات بدلاً من العكس.

إذا كان الجهاز متصلاً بالإنترنت مباشرة، فيجب أن يعمل كل من FTP السلبي والنشط بشكل جيد على حد سواء. خلف معظم تكوينات الجدار الناري و NAT، يكون لـ FTP السلبي فرصة أفضل للعمل. ومع ذلك، في بعض تكوينات الجدار الناري النادرة، يعمل FTP النشط فعليًا عندما لا يعمل FTP السلبي. إذا كنت تشك في أن هذه هي الحالة، فاستخدم هذا الخيار، أو اضبط "passive_ftp=off" في ملف التهيئة الخاص بك.

الحفاظ على أذونات الملفات البعيدة بدلاً من الأذونات التي يضبطها umask.
مبدئيًا، عند جلب أدلة FTP بشكل متكرر ومصادفة رابط رمزي، يُجتاز الرابط الرمزي وتُجلب الملفات التي يشير إليها. حاليًا، لا يجتاز Wget الروابط الرمزية للأدلة لتنزيلها بشكل متكرر، على الرغم من أن هذه الميزة قد تُضاف في المستقبل.

عند تحديد --retr-symlinks=no، لا يُنزل الملف المرتبط به. بدلاً من ذلك، يُنشأ رابط رمزي مطابق على نظام الملفات المحلي. لن يُجلب الملف المشار إليه إلا إذا واجهه هذا الجلب المتكرر بشكل منفصل وقام بتنزيله على أي حال. يشكل هذا " "الخيار خطرًا أمنيًا حيث قد يتسبب خادم FTP خبيث في جعل Wget يكتب في ملفات خارج الأدلة المقصودة من خلال ملف .LISTING مصمم خصيصًا.

لاحظ أنه عند جلب ملف (ليس دليلاً) لأنه حُدد في سطر الأوامر، بدلاً من الوصول إليه عبر التكرار، فلن يكون لهذا الخيار أي تأثير. تُجتاز الروابط الرمزية دائمًا في هذه الحالة.

خيارات FTPS

يخبر هذا الخيار Wget باستخدام FTPS ضمنيًا. يتكون FTPS الضمني من تهيئة SSL/TLS منذ بداية اتصال التحكم. لا يرسل هذا الخيار أمر "AUTH TLS": إنه يفترض أن الخادم يتحدث FTPS ويبدأ اتصال SSL/TLS مباشرة. إذا نجحت المحاولة، تستمر الجلسة تمامًا مثل FTPS العادي (يُرسل "PBSZ" و "PROT"، وما إلى ذلك). لم يعد FTPS الضمني متطلبًا لتطبيقات FTPS، وبالتالي قد لا تدعمه العديد من الخوادم. إذا مُرّر --ftps-implicit ولم يُحدد رقم منفذ صريح، فسيُستخدم المنفذ المبدئي لـ FTPS الضمني، 990، بدلاً من المنفذ المبدئي لـ FTPS "العادي" (الصريح) وهو نفس منفذ FTP، 21.
عدم استئناف جلسة SSL/TLS في قناة البيانات. عند بدء اتصال بيانات، يحاول Wget استئناف جلسة SSL/TLS التي بدأت سابقًا في اتصال التحكم. يتجنب استئناف جلسة SSL/TLS إجراء مصافحة جديدة تمامًا عن طريق إعادة استخدام معلمات SSL/TLS لجلسة سابقة. عادةً ما تفضل خوادم FTPS ذلك، لذا يفعل Wget هذا مبدئيًا. ومع ذلك، في ظروف نادرة، قد يرغب المرء في بدء جلسة SSL/TLS جديدة تمامًا في كل اتصال بيانات. هذا هو الغرض من --no-ftps-resume-ssl.
ستكون جميع اتصالات البيانات بنص صرف. فقط اتصال التحكم سيكون تحت SSL/TLS. سيرسل Wget أمر "PROT C" لتحقيق ذلك، والذي يجب أن يوافق عليه الخادم.
التراجع إلى FTP إذا كان FTPS غير مدعوم من الخادم الهدف. لأسباب أمنية، لا يُفعل هذا الخيار مبدئيًا. السلوك المبدئي هو الإنهاء مع خطأ. إذا لم يستجب الخادم بنجاح لأمر "AUTH TLS" الأولي، أو في حالة FTPS الضمني، إذا رُفضت محاولة اتصال SSL/TLS الأولية، يُعتبر أن هذا الخادم لا يدعم FTPS.

خيارات الجلب المتكرر

شغل الجلب المتكرر. العمق الأقصى المبدئي هو 5.
اضبط الحد الأقصى لعدد المجلدات الفرعية التي سيتكرر Wget بداخلها إلى العمق. من أجل منع التحميل غير المقصود للمواقع الكبيرة جدًا عند استخدام التكرار، حُدد هذا بعمق 5 مبدئيًا، أي أنه سيجتاز 5 أدلة بحد أقصى بدءًا من المسار (URL) المقدم. اضبط -l 0 أو -l inf لعمق تكرار غير محدود.

        wget -r -l 0 http://<الموقع>/1.html
    

مثاليًا، قد يتوقع المرء أن يحمل هذا 1.html فقط، ولكن لسوء الحظ ليس هذا هو الحال، لأن -l 0 يكافئ -l inf---أي تكرار غير محدود. لتحميل صفحة HTML واحدة (أو بضعة منها)، حددها جميعًا في سطر الأوامر واترك -r و -l. لتحميل العناصر الضرورية لعرض صفحة HTML واحدة، انظر page requisites.

يخبر هذا الخيار Wget بحذف كل ملف يحمله، بعد القيام بذلك. إنه مفيد للجلب المسبق للصفحات الشائعة عبر الوكيل، مثلًا:

        wget -r -nd --delete-after http://whatever.com/~popular/page/
    

الخيار -r مخصص للجلب تكراريًا، و -nd لعدم إنشاء مجلدات.

لاحظ أن --delete-after يحذف الملفات على الجهاز المحلي. ولا يصدر أمر DELE لمواقع FTP البعيدة، على سبيل المثال. لاحظ أيضًا أنه عند تحديد --delete-after، يُتجاهل --convert-links، لذا لا تُنشأ ملفات .orig في المقام الأول.

بعد اكتمال التحميل، حوّل الروابط في المستند لتجعلها مناسبة للعرض المحلي. يؤثر هذا ليس فقط على الروابط التشعبية المرئية، بل على أي جزء من المستند يرتبط بمحتوى خارجي، مثل الصور المضمنة، وروابط أوراق الأنماط، والروابط التشعبية للمحتوى غير التابع لـ HTML، إلخ.

سيتغير كل رابط بإحدى طريقتين:

  • سوف تُغير الروابط المؤدية إلى ملفات حُملت بواسطة Wget لتشير إلى الملف الذي تشير إليه كرابط نسبي.

    مثال: إذا كان الملف المحمل /foo/doc.html يشير إلى /bar/img.gif، وهو محمل أيضًا، فسيُعدل الرابط في doc.html ليشير إلى ../bar/img.gif. هذا النوع من التحويل يعمل بموثوقية لتركيبات المجلدات العشوائية.

  • ستُغير الروابط المؤدية إلى ملفات لم تُحمل بواسطة Wget لتشمل اسم المضيف والمسار المطلق للموقع الذي تشير إليه.

    مثال: إذا كان الملف المحمل /foo/doc.html يشير إلى /bar/img.gif (أو إلى ../bar/img.gif)، فسيُعدل الرابط في doc.html ليشير إلى http://hostname/bar/img.gif.

بسبب هذا، يعمل التصفح المحلي بموثوقية: إذا حُمل ملف مرتبط، فسيشير الرابط إلى اسمه المحلي؛ وإذا لم يُحمل، فسيشير الرابط إلى عنوانه الكامل على الإنترنت بدلًا من تقديم رابط معطل. حقيقة أن الروابط السابقة حُولت إلى روابط نسبية تضمن إمكانية نقل الهيكل المحمل إلى مجلد آخر.

لاحظ أن Wget لا يعرف الروابط التي حُملت إلا في نهاية التحميل فقط. لهذا السبب، سيُنفذ العمل الذي يقوم به -k في نهاية جميع التحميلات.

يحول هذا الخيار جزء اسم الملف فقط من العناوين (URLs)، تاركًا بقية العناوين دون تغيير. يُشار أحيانًا إلى جزء اسم الملف هذا باسم "الاسم الأساسي"، رغم أننا نتجنب هذا المصطلح هنا لعدم التسبب في ارتباك.

يعمل بشكل جيد خاصة بالاقتران مع --adjust-extension، رغم أن هذا الاقتران غير مفروض. يثبت فائدته لملء خبيئات الإنترنت بملفات حُملت من مضيفين مختلفين.

مثال: إذا كان هناك رابط يشير إلى //foo.com/bar.cgi?xyz مع تفعيل --adjust-extension وكانت وجهته المحلية من المفترض أن تكون ./foo.com/bar.cgi?xyz.css، فسيُحول الرابط إلى //foo.com/bar.cgi?xyz.css. لاحظ أنه عُدل جزء اسم الملف فقط. تُرك بقية العنوان دون تغيير، بما في ذلك مسار الشبكة ("//") الذي كان سيُعالج لولا ذلك بواسطة Wget ويُحول إلى المخطط الفعلي (أي "http://").

عند تحويل ملف، انسخ النسخة الأصلية احتياطيًا مع اللاحقة .orig. يؤثر على سلوك -N.
شغل الخيارات المناسبة للمرآة. يشغل هذا الخيار التكرار والختم الزمني، ويضبط عمق تكرار غير محدود ويحتفظ بقوائم مجلدات FTP. يعادل حاليًا -r -N -l inf --no-remove-listing.
يتسبب هذا الخيار في قيام Wget بتحميل جميع الملفات الضرورية لعرض صفحة HTML معينة بشكل صحيح. ويشمل ذلك أشياء مثل الصور المضمنة، والأصوات، وأوراق الأنماط المشار إليها.

عادةً، عند تحميل صفحة HTML واحدة، لا تُحمل أي مستندات ضرورية قد تكون مطلوبة لعرضها بشكل صحيح. استخدام -r مع -l يمكن أن يساعد، ولكن بما أن Wget لا يميز عادةً بين المستندات الخارجية والمضمنة، فغالبًا ما يُترك المرء مع "مستندات ورقية" تفتقر إلى متطلباتها.

على سبيل المثال، لنفترض أن المستند 1.html يحتوي على وسم "<IMG>" يشير إلى 1.gif ووسم "<A>" يشير إلى المستند الخارجي 2.html. ولنفترض أن 2.html مماثل ولكن صورته هي 2.gif ويرتبط بـ 3.html. لنفترض أن هذا يستمر حتى رقم مرتفع بشكل عشوائي.

إذا نُفذ الأمر:

        wget -r -l 2 http://<الموقع>/1.html
    

فسوف تُحمل 1.html، و 1.gif، و 2.html، و 2.gif، و 3.html. كما ترى، 3.html بدون متطلبه 3.gif لأن Wget يقوم ببساطة بعد عدد القفزات (حتى 2) بعيدًا عن 1.html لتحديد أين يتوقف التكرار. ومع ذلك، باستخدام هذا الأمر:

        wget -r -l 2 -p http://<الموقع>/1.html
    

جميع الملفات المذكورة أعلاه و متطلب 3.html وهو 3.gif سوف تُحمل. وبالمثل،

        wget -r -l 1 -p http://<الموقع>/1.html
    

سيتسبب في تحميل 1.html، و 1.gif، و 2.html، و 2.gif. قد يعتقد المرء أن:

        wget -r -l 0 -p http://<الموقع>/1.html
    

سيحمل فقط 1.html و 1.gif، ولكن لسوء الحظ ليس هذا هو الحال، لأن -l 0 يكافئ -l inf---أي تكرار غير محدود. لتحميل صفحة HTML واحدة (أو بضعة منها، جميعها محددة في سطر الأوامر أو في ملف مدخلات عناوين -i) ومتطلباتها، اترك ببساطة -r و -l:

        wget -p http://<الموقع>/1.html
    

لاحظ أن Wget سيتصرف كما لو حُدد -r، ولكن سيُحمل فقط تلك الصفحة الواحدة ومتطلباتها. لن تُتبع الروابط من تلك الصفحة إلى مستندات خارجية. في الواقع، لتحميل صفحة واحدة وجميع متطلباتها (حتى لو كانت موجودة على مواقع ويب منفصلة)، وللتأكد من عرض المجموعة بشكل صحيح محليًا، يفضل هذا المؤلف استخدام بضعة خيارات بالإضافة إلى -p:

        wget -E -H -k -K -p http://<الموقع>/<المستند>
    

لإنهاء هذا الموضوع، يجدر معرفة أن فكرة Wget عن رابط مستند خارجي هي أي عنوان (URL) محدد في وسم "<A>"، أو وسم "<AREA>"، أو وسم "<LINK>" بخلاف "<LINK REL="stylesheet">".

شغل التحليل الصارم لتعليقات HTML. السلوك المبدئي هو إنهاء التعليقات عند أول ظهور لـ -->.

وفقًا للمواصفات، تُعبر تعليقات HTML كـ إعلانات SGML. الإعلان هو وسم خاص يبدأ بـ <! وينتهي بـ >، مثل <!DOCTYPE ...>، والذي قد يحتوي على تعليقات بين زوج من محددات --. تعليقات HTML هي "إعلانات فارغة"، إعلانات SGML بدون أي نص غير تعليقي. لذلك، <!--foo--> هو تعليق صالح، وكذلك <!--one-- --two-->، ولكن <!--1--2--> ليس كذلك.

من ناحية أخرى، معظم كتاب HTML لا ينظرون للتعليقات كأي شيء آخر سوى نص محدد بـ <!-- و -->، وهو ليس تمامًا نفس الشيء. على سبيل المثال، شيء مثل <!------------> يعمل كتعليق صالح طالما أن عدد الشرطات هو مضاعف للأربعة (!). وإذا لم يكن كذلك، فإن التعليق تقنيًا يستمر حتى -- التالية، والتي قد تكون في الطرف الآخر من المستند. وبسبب هذا، فإن العديد من المتصفحات الشائعة تتجاهل المواصفات تمامًا وتنفذ ما يتوقعه المستخدمون: تعليقات محددة بـ <!-- و -->.

حتى الإصدار 1.9، كان Wget يفسر التعليقات بصرامة، مما أدى إلى فقدان روابط في العديد من صفحات الويب التي كانت تُعرض بشكل جيد في المتصفحات، ولكن لسوء حظها احتوت على تعليقات غير متوافقة. بدءًا من الإصدار 1.9، انضم Wget إلى صفوف العملاء الذين ينفذون التعليقات "البسيطة"، منهيًا كل تعليق عند أول ظهور لـ -->.

إذا كنت تريد، لأي سبب كان، تحليلًا صارمًا للتعليقات، فاستخدم هذا الخيار لتشغيله.

خيارات القبول/الرفض المتكرر

حدد قوائم مفصولة بفواصل من لاحقات أسماء الملفات أو الأنماط لقبولها أو رفضها. لاحظ أنه إذا ظهرت أي من أحرف البدل، *، أو ?، أو [، أو ]، في عنصر من قائمة_القبول أو قائمة_الرفض، فسيُعامل كنمط وليس كلاحقة. في هذه الحالة، يجب عليك إحاطة النمط بعلامات اقتباس لمنع الصدفة من توسيعه، مثل -A "*.mp3" أو -A '*.mp3'.
حدد تعبيرًا نمطيًا لقبول أو رفض العنوان (URL) الكامل.
حدد نوع التعبير النمطي. الأنواع الممكنة هي posix أو pcre. لاحظ أنه لتتمكن من استخدام النوع pcre، يجب أن يكون wget قد جُمع مع دعم libpcre.
اضبط النطاقات التي ستُتبع. قائمة_النطاقات هي قائمة من النطاقات مفصولة بفواصل. لاحظ أن هذا لا يشغل -H.
حدد النطاقات التي لا ينبغي اتباعها.
اتبع روابط FTP من مستندات HTML. بدون هذا الخيار، سيتجاهل Wget جميع روابط FTP.
يمتلك Wget جدولًا داخليًا لأزواج (وسم HTML / سمة) التي يأخذها في الاعتبار عند البحث عن المستندات المرتبطة أثناء الجلب المتكرر. وإذا أراد المستخدم مراعاة مجموعة فرعية فقط من تلك الوسوم، فيجب عليه تحديد هذه الوسوم في قائمة مفصولة بفواصل مع هذا الخيار.
هذا هو عكس الخيار --follow-tags. لتخطي وسوم HTML معينة عند البحث تكراريًا عن مستندات لتحميلها، حددها في قائمة مفصولة بفواصل.

في الماضي، كان هذا الخيار هو الرهان الأفضل لتحميل صفحة واحدة ومتطلباتها، باستخدام سطر أوامر مثل:

        wget --ignore-tags=a,area -H -k -K -r http://<الموقع>/<المستند>
    

ومع ذلك، صادف مؤلف هذا الخيار صفحة بها وسوم مثل "<LINK REL="home" HREF="/">" وأدرك أن تحديد الوسوم لتجاهلها لم يكن كافيًا. لا يمكن للمرء ببساطة إخبار Wget بتجاهل "<LINK>"، لأن أوراق الأنماط لن تُحمل حينها. الآن الرهان الأفضل لتحميل صفحة واحدة ومتطلباتها هو خيار --page-requisites المخصص.

تجاهل حالة الأحرف عند مطابقة الملفات والمجلدات. يؤثر هذا على سلوك الخيارات -R و -A و -I و -X، بالإضافة إلى تطبيق الأنماط عند التحميل من مواقع FTP. على سبيل المثال، مع هذا الخيار، -A "*.txt" سيطابق file1.txt، وأيضًا file2.TXT، و file3.TxT، وهكذا. علامات الاقتباس في المثال لمنع الصدفة من توسيع النمط.
تمكين التجاوز عبر المضيفين عند إجراء الجلب المتكرر.
اتبع الروابط النسبية فقط. مفيد لجلب صفحة رئيسة محددة دون أي مشتتات، ولا حتى تلك الموجودة على نفس المضيفين.
حدد قائمة مفصولة بفواصل للمجلدات التي ترغب في اتباعها عند التحميل. قد تحتوي عناصر القائمة على أحرف بدل.
حدد قائمة مفصولة بفواصل للمجلدات التي ترغب في استبعادها من التحميل. قد تحتوي عناصر القائمة على أحرف بدل.
لا تصعد أبدًا إلى المجلد الأب عند الجلب تكراريًا. هذا خيار مفيد، لأنه يضمن تحميل الملفات الموجودة أسفل تسلسل هرمي معين فقط.

البيئة

يدعم Wget الوكلاء لعمليات جلب HTTP و FTP. الطريقة القياسية لتحديد موقع الوكيل، والتي يتعرف عليها Wget، هي استخدام متغيرات البيئة التالية:

إذا ضُبطت، فيجب أن تحتوي متغيرات http_proxy و https_proxy على عناوين (URLs) الوكلاء لاتصالات HTTP و HTTPS على التوالي.
يجب أن يحتوي هذا المتغير على عنوان الوكيل لاتصالات FTP. من الشائع جدًا ضبط http_proxy و ftp_proxy على نفس العنوان.
يجب أن يحتوي هذا المتغير على قائمة مفصولة بفواصل لامتدادات النطاقات التي لا ينبغي استخدام الوكيل لها. على سبيل المثال، إذا كانت قيمة no_proxy هي .mit.edu، فلن يُستخدم الوكيل لجلب مستندات من MIT.

حالة الخروج

قد يعيد Wget أحد رموز الخطأ المتعددة إذا واجه مشكلات.

0
لم تحدث أي مشكلات.
1
رمز خطأ عام.
2
خطأ في التحليل---على سبيل المثال، عند تحليل خيارات سطر الأوامر، أو .wgetrc أو .netrc...
3
خطأ في إدخال/إخراج الملف.
4
فشل في الشبكة.
5
فشل في الاستيثاق من SSL.
6
فشل في استيثاق اسم المستخدم/كلمة المرور.
7
أخطاء في البروتوكول.
8
أصدر الخادم استجابة خطأ.

باستثناء 0 و 1، فإن رموز الخروج ذات الأرقام الأقل لها الأولوية على تلك ذات الأرقام الأعلى، عند مواجهة أنواع متعددة من الأخطاء.

في إصدارات Wget قبل 1.12، كانت حالة خروج Wget تميل إلى أن تكون غير مفيدة وغير متسقة. التحميلات المتكررة كانت دائمًا تقريبًا تعيد 0 (نجاح)، بغض النظر عن أي مشكلات وُجهت، وعمليات الجلب غير المتكررة كانت تعيد فقط الحالة المقابلة لأحدث محاولة تحميل.

الملفات

/usr/local/etc/wgetrc
الموقع المبدئي لملف التشغيل العالمي.
.wgetrc
ملف تشغيل المستخدم.

العلل

نرحب بتقديم تقارير الأخطاء عبر متعقب أخطاء GNU Wget (انظر <https://savannah.gnu.org/bugs/?func=additem&group=wget>) أو إلى قائمتنا البريدية <bug-wget@gnu.org>.

زر <https://lists.gnu.org/mailman/listinfo/bug-wget> للحصول على مزيد من المعلومات (كيفية الاشتراك، أرشيف القائمة، ...).

قبل إرسال تقرير عن علة بالفعل، يرجى محاولة اتباع بعض الإرشادات البسيطة.

1.
يرجى محاولة التأكد من أن السلوك الذي تراه هو علة بالفعل. إذا انهار وجت (Wget)، فهذه علة. وإذا لم يعمل وجت كما هو موثق، فهذه علة. وإذا كانت الأمور تعمل بغرابة، ولكنك لست متأكدًا من الطريقة التي يُفترض أن تعمل بها، فقد تكون علة بالفعل، ولكن قد ترغب في مراجعة التوثيق والقوائم البريدية.
2.
حاول تكرار العلة في أبسط ظروف ممكنة. على سبيل المثال، إذا انهار وجت أثناء التنزيل باستخدام wget -rl0 -kKE -t5 --no-proxy http://example.com -o /tmp/log، فيجب أن تحاول معرفة ما إذا كان الانهيار قابلًا للتكرار، وما إذا كان سيحدث مع مجموعة أبسط من الخيارات. قد تحاول أيضًا بدء التنزيل من الصفحة التي حدث فيها الانهيار لمعرفة ما إذا كانت تلك الصفحة قد تسببت في الانهيار بشكل ما.

أيضًا، بينما سأكون مهتمًا على الأرجح بمعرفة محتويات ملف .wgetrc الخاص بك، إلا أن مجرد إدراجه بالكامل في رسالة التنقيح ربما يكون فكرة سيئة. بدلًا من ذلك، يجب عليك أولًا محاولة معرفة ما إذا كانت العلة تتكرر مع نقل .wgetrc بعيدًا. فقط إذا اتضح أن إعدادات .wgetrc تؤثر على العلة، فأرسل لي الأجزاء ذات الصلة من الملف.

3.
يرجى بدء وجت بالخيار -d وإرسال المخرجات الناتجة (أو الأجزاء ذات الصلة منها). إذا وُزّع وجت بدون دعم التنقيح، فأعد تجميعه---فمن الأسهل بكثير تتبع العلل مع تفعيل دعم التنقيح.

ملاحظة: يرجى التأكد من إزالة أي معلومات حساسة محتملة من سجل التنقيح قبل إرساله إلى عنوان البلاغ عن العلل. الخيار "-d" لن يسعى لجمع معلومات حساسة، ولكن السجل سيحتوي على نسخة كاملة تقريبًا لتواصل وجت مع الخادم، والذي قد يشمل كلمات المرور وأجزاءً من البيانات المنزلة. وبما أن عنوان البلاغ عن العلل مؤرشف علنًا، فيمكنك افتراض أن جميع تقارير العلل مرئية للعامة.

4.
إذا انهار وجت، فحاول تشغيله في منقح، مثل "gdb `which wget` core" واكتب "where" للحصول على تتبع خلفي. قد لا يعمل هذا إذا كان مدير النظام قد عطل ملفات الـ core، ولكن من الآمن تجربته.

انظر أيضًا

هذا ليس الدليل الكامل لـ GNU Wget. لمزيد من المعلومات الكاملة، بما في ذلك شروحات أكثر تفصيلًا لبعض الخيارات، وعدد من الأوامر المتاحة للاستخدام مع ملفات .wgetrc والخيار -e، راجع مدخل GNU Info لـ wget.

انظر أيضًا wget2(1)، وهي النسخة المحدثة من GNU Wget مع دعم أفضل للتنزيل المتكرر والبروتوكولات الحديثة مثل HTTP/2.

المؤلف

كُتب في الأصل بواسطة Hrvoje Nikšić <hniksic@xemacs.org>. ويقوم بصيانته حاليًا كل من Darshit Shah <darnir@gnu.org> و Tim Rühsen <tim.ruehsen@gmx.de>.

حقوق النسخ

حقوق النشر (c) 1996--2011, 2015, 2018--2024 لمؤسسة البرمجيات الحرة، المحدودة.

يُمنح الإذن بنسخ وتوزيع و/أو تعديل هذا المستند بموجب شروط رخصة جنو للوثائق الحرة (GNU Free Documentation License)، الإصدار 1.3 أو أي إصدار لاحق تنشره مؤسسة البرمجيات الحرة؛ مع عدم وجود أقسام ثابتة، وبدون نصوص غلاف أمامي، وبدون نصوص غلاف خلفي. نُسخة من الرخصة مضمنة في القسم المعنون "GNU Free Documentation License".

ترجمة

تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.

25 يوليو 2025 جنو ويجيت 1.25.0