Ako je zadatak provjera HTTP odgovora i praćenje običnih poveznica, puni preglednik nije uvijek potreban. Ruby Mechanize izlaže proxy na agentu koji izvršava te zahtjeve:

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

Ovo pretpostavlja da je biblioteka mechanize učitana. Za dopuštenu provjeru javne stranice bez proxy autentifikacije, popis HTTP proxyja daje odgovarajuće vrijednosti hosta/porta za primjer. Metoda proxy također prihvaća korisničko ime i lozinku kao neobavezne treći i četvrti argument kada to endpoint zahtijeva.

Ponovno koristite konfiguriranog agenta za zahtjeve koji pripadaju istoj sesiji pregledavanja. Nosi kolačiće i povijest, kao i mrežne postavke. Promjena izlaznog proxyja sama po sebi ne stvara novi identitet niti odbacuje kolačić za prijavu.

Za više proxy sesija dajte svakoj vlastitog agenta umjesto mijenjanja jednog zajedničkog agenta dok je posao u tijeku. Biblioteka također dokumentira jedinstvena imena veza kada su potrebne odvojene SSL veze; ime konstruktora u primjeru čini taj izbor eksplicitnim.

Grupiranje povezanih provjera URL-a po proxyju može smanjiti nepotrebno rekonfiguriranje. Držite rezultat povezan s rutom i URL-om koji su ga proizveli, uključujući preusmjeravanja i odgovore s pogreškom.

Mechanize ne reproducira izvršavanje JavaScripta u pregledniku. Koristite pravi preglednik kada ponašanje koje se testira ovisi o skriptama, renderiranju ili autentifikaciji specifičnoj za preglednik. Uspješno HTTP dohvaćanje kroz proxy odgovara na uže pitanje da je ovaj agent mogao izvršiti taj zahtjev.

Povezani članci