Zachovajte agenta Ruby Mechanize pre každú proxy reláciu
Nastavte proxy agenta Ruby Mechanize raz, znova ho použite pre súvisiace požiadavky a stav cookies i trvalé spojenia vedome obmedzte.
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
endPredpokladá 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ť.