Прокси сесс бүрт 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 арга нь endpoint шаардсан үед хэрэглэгчийн нэр, нууц үгийг нэмэлт гурав, дөрөв дэх аргумент болгон хүлээн авдаг.
Нэг хөтөлбөрийн сессэд хамаарах хүсэлтүүдэд тохируулсан агентийг дахин ашигла. Энэ нь cookie, түүх, мөн сүлжээний тохиргоог авч явдаг. Гарах проксийг солих нь өөрөө шинэ таних тэмдэг үүсгэдэггүй, нэвтрэх cookie-г хаядаггүй.
Хэд хэдэн прокси сессийн хувьд ажил үргэлжилж байх үед нэг хуваалцсан агентыг солихын оронд тус бүрд нь өөрийн агентийг өг. Сан нь тусдаа SSL холболт шаардлагатай үед өвөрмөц холболтын нэрсийг мөн баримтжуулдаг; жишээн дэх конструкторын нэр тэр сонголтыг тодорхой болгодог.
Холбоотой URL шалгалтыг проксигоор бүлэглэх нь шаардлагагүй дахин тохируулгыг бууруулж болно. Үр дүнг үүсгэсэн маршрут, URL-тай холбоотой хадгал, дахин чиглүүлэлт болон алдааны хариултыг оруулан.
Mechanize нь хөтчийн JavaScript гүйцэтгэлийг дахин үүсгэдэггүй. Шалгаж буй зан төлөв скрипт, дүрслэл эсвэл хөтөчдөө өвөрмөц баталгаажуулалтаас хамаарч байвал бодит хөтөч ашигла. Проксигоор амжилттай HTTP татахад энэ агент тэр хүсэлтийг хийж чадсан гэсэн нарийн асуултад хариулна.