Запазете 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 извличане през проксито отговаря на по-тесния въпрос дали този агент е успял да направи заявката.