אם המשימה היא בדיקת תגובות 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 מוצלחת דרך הפרוקסי עונה על השאלה הצרה יותר: שהסוכן הזה הצליח לבצע את הבקשה.

מאמרים קשורים