เก็บเอเจนต์ Ruby Mechanize ไว้สำหรับแต่ละเซสชันพร็อกซี
ตั้งค่าพร็อกซีของเอเจนต์ Ruby Mechanize ครั้งเดียว ใช้ซ้ำกับคำขอที่เกี่ยวข้อง และจำกัดสถานะคุกกี้และการเชื่อมต่อแบบคงอยู่โดยเจตนา
หากงานคือการตรวจสอบการตอบสนอง 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 ยังรับชื่อผู้ใช้และรหัสผ่านเป็นอาร์กิวเมนต์ที่สามและสี่ซึ่งไม่บังคับเมื่อปลายทางต้องการ
ใช้เอเจนต์ที่กำหนดค่าไว้ซ้ำสำหรับคำขอที่เป็นของเซสชันการท่องเว็บเดียวกัน มันพาคุกกี้และประวัติตลอดจนการตั้งค่าเครือข่ายไปด้วย การเปลี่ยนพร็อกซีขาออกไม่ได้สร้างตัวตนใหม่โดยตัวมันเองหรือทิ้งคุกกี้การเข้าสู่ระบบ
สำหรับหลายเซสชันพร็อกซี ให้แต่ละเซสชันมีเอเจนต์ของตัวเองแทนการสลับเอเจนต์ที่ใช้ร่วมกันระหว่างที่งานกำลังดำเนินอยู่ ไลบรารียังบันทึกชื่อการเชื่อมต่อที่ไม่ซ้ำกันเมื่อจำเป็นต้องแยกการเชื่อมต่อ SSL ชื่อคอนสตรักเตอร์ในตัวอย่างทำให้ตัวเลือกนั้นชัดเจน
การจัดกลุ่มการตรวจสอบ URL ที่เกี่ยวข้องตามพร็อกซีสามารถลดการกำหนดค่าใหม่ที่ไม่จำเป็นได้ เก็บผลลัพธ์ให้เชื่อมโยงกับเส้นทางและ URL ที่สร้างมันขึ้นมา รวมถึงการเปลี่ยนเส้นทางและการตอบสนองข้อผิดพลาด
Mechanize ไม่ได้จำลองการทำงานของ JavaScript ของเบราว์เซอร์ ใช้เบราว์เซอร์จริงเมื่อพฤติกรรมที่ทดสอบขึ้นอยู่กับสคริปต์ การเรนเดอร์ หรือการยืนยันตัวตนเฉพาะเบราว์เซอร์ การดึง HTTP ที่สำเร็จผ่านพร็อกซีตอบคำถามที่แคบกว่าคือเอเจนต์นี้สามารถทำคำขอนั้นได้