שמרו סוכן Ruby Mechanize לכל הפעלת פרוקסי
הגדירו את הפרוקסי של סוכן Ruby Mechanize פעם אחת, השתמשו בו שוב לבקשות קשורות, והגבילו במכוון את מצב קובצי ה-Cookie ואת החיבורים המתמשכים.
אם המשימה היא בדיקת תגובות 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 מספקת ערכי מארח/פורט מתאימים לדוגמה. שיטת ה-proxy מקבלת גם שם משתמש וסיסמה כארגומנטים אופציונליים שלישי ורביעי כשנקודת הקצה דורשת אותם.
השתמשו שוב בסוכן המוגדר לבקשות ששייכות לאותה הפעלת גלישה. הוא נושא קובצי Cookie והיסטוריה כמו גם הגדרות רשת. החלפת פרוקסי היציאה אינה יוצרת כשלעצמה זהות חדשה ואינה משליכה קובץ Cookie של התחברות.
לכמה הפעלות פרוקסי, תנו לכל אחת סוכן משלה במקום להחליף סוכן משותף אחד בזמן שהעבודה מתבצעת. הספרייה מתעדת גם שמות חיבור ייחודיים כשנדרשים חיבורי SSL נפרדים; שם הבנאי בדוגמה מבהיר את הבחירה הזו.
קיבוץ בדיקות URL קשורות לפי פרוקסי יכול לצמצם הגדרה מחדש מיותרת. שמרו את התוצאה קשורה למסלול ולכתובת ה-URL שהפיקו אותה, כולל הפניות ותגובות שגיאה.
Mechanize אינו משחזר הרצת JavaScript של דפדפן. השתמשו בדפדפן אמיתי כשההתנהגות הנבדקת תלויה בסקריפטים, ברינדור או באימות ייחודי לדפדפן. שליפת HTTP מוצלחת דרך הפרוקסי עונה על השאלה הצרה יותר: שהסוכן הזה הצליח לבצע את הבקשה.