Ak je úlohou kontrolovať HTTP odpovede a sledovať bežné odkazy, plný prehliadač nie je vždy potrebný. Ruby Mechanize vystavuje proxy na agentovi, ktorý tieto požiadavky vykonáva:

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

Predpokladá to, že je načítaná knižnica mechanize. Pre povolenú kontrolu verejnej stránky bez proxy autentifikácie poskytuje zoznam HTTP proxy vhodné hodnoty host/port pre príklad. Metóda proxy tiež prijíma používateľské meno a heslo ako voliteľné tretie a štvrté argumenty, ak to koncový bod vyžaduje.

Nakonfigurovaného agenta znova použite pre požiadavky patriace k tej istej relácii prehliadania. Nesie cookies a históriu i sieťové nastavenia. Zmena výstupnej proxy sama o sebe nevytvára novú identitu ani nezahadzuje prihlasovací cookie.

Pre niekoľko proxy relácií dajte každej vlastného agenta, namiesto toho aby ste menili jedného zdieľaného agenta, kým práca prebieha. Knižnica tiež dokumentuje jedinečné názvy pripojení, keď sú potrebné oddelené SSL pripojenia; názov konštruktora v príklade toto rozhodnutie robí explicitným.

Zoskupenie súvisiacich kontrol URL podľa proxy môže znížiť zbytočnú rekonfiguráciu. Udržujte výsledok spojený s trasou a URL, ktoré ho vytvorili, vrátane presmerovaní a chybových odpovedí.

Mechanize nereprodukuje spúšťanie JavaScriptu prehliadača. Použite skutočný prehliadač, keď testované správanie závisí od skriptov, vykresľovania alebo autentifikácie špecifickej pre prehliadač. Úspešné HTTP načítanie cez proxy odpovedá na užšiu otázku, že tento agent dokázal danú požiadavku vykonať.

Súvisiace články