إذا كانت المهمة هي فحص استجابات HTTP واتباع الروابط العادية، فليس المتصفح الكامل ضروريًا دائمًا. يعرض Ruby Mechanize الوسيط على الوكيل الذي ينفّذ تلك الطلبات:

agent = Mechanize.new('office-route')
begin
  agent.set_proxy('proxy.example', 8080)
  page = agent.get('https://www.example.com/')
  puts page.code
ensure
  agent.shutdown
end

يفترض هذا أن مكتبة mechanize محمّلة. ولاختبار صفحة عامة مسموح به دون مصادقة وسيط، توفّر قائمة وسطاء HTTP قيم المضيف/المنفذ المرشحة للمثال. وتقبل دالة الوسيط أيضًا اسم مستخدم وكلمة مرور كوسيطين اختياريين ثالث ورابع عندما تتطلب النقطة الطرفية ذلك.

أعد استخدام الوكيل المضبوط للطلبات التي تنتمي إلى جلسة تصفح واحدة. فهو يحمل ملفات تعريف الارتباط والسجل بالإضافة إلى إعدادات الشبكة. تغيير وسيط الخروج لا ينشئ بطبيعته هوية جديدة ولا يتخلص من ملف تعريف ارتباط تسجيل الدخول.

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

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

لا يعيد Mechanize تنفيذ JavaScript في المتصفح. استخدم متصفحًا فعليًا عندما يعتمد السلوك قيد الاختبار على النصوص البرمجية أو العرض أو مصادقة خاصة بالمتصفح. نجاح جلب HTTP عبر الوسيط يجيب عن السؤال الأضيق: أن هذا الوكيل تمكن من تنفيذ ذلك الطلب.

مقالات ذات صلة