Pokud je úkolem kontrolovat HTTP odpovědi a sledovat běžné odkazy, plný prohlížeč není vždy nutný. Ruby Mechanize vystavuje proxy na agentovi, který tyto požadavky provádí:

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

Předpokládá to, že je načtena knihovna mechanize. Pro povolenou kontrolu veřejné stránky bez proxy autentizace poskytuje seznam HTTP proxy vhodné hodnoty host/port pro příklad. Metoda proxy také přijímá uživatelské jméno a heslo jako volitelné třetí a čtvrté argumenty, pokud to koncový bod vyžaduje.

Nakonfigurovaného agenta znovu použijte pro požadavky patřící ke stejné relaci prohlížení. Nese cookies a historii i síťová nastavení. Změna výstupní proxy sama o sobě nevytváří novou identitu ani nezahazuje přihlašovací cookie.

Pro několik proxy relací dejte každé vlastního agenta, místo abyste měnili jednoho sdíleného agenta, dokud práce probíhá. Knihovna také dokumentuje jedinečné názvy připojení, když jsou vyžadována oddělená SSL připojení; název konstruktoru v příkladu toto rozhodnutí činí explicitním.

Seskupení souvisejících kontrol URL podle proxy může snížit zbytečnou rekonfiguraci. Udržujte výsledek spojený s trasou a URL, které jej vytvořily, včetně přesměrování a chybových odpovědí.

Mechanize nereprodukuje spouštění JavaScriptu prohlížeče. Použijte skutečný prohlížeč, když testované chování závisí na skriptech, vykreslování nebo autentizaci specifické pro prohlížeč. Úspěšné HTTP načtení přes proxy odpovídá na užší otázku, že tento agent dokázal daný požadavek provést.

Související články