Zadržite Ruby Mechanize agent za svaku proxy sesiju
Postavite proxy Ruby Mechanize agenta jednom, koristite ga ponovo za povezane zahteve i svesno ograničite stanje kolačića i trajne veze.
Ako je zadatak provera HTTP odgovora i praćenje običnih veza, pun pregledač nije uvek potreban. Ruby Mechanize izlaže proxy na agentu koji izvršava te zahteve:
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
endOvo pretpostavlja da je biblioteka mechanize učitana. Za dozvoljenu proveru javne stranice bez proxy autentifikacije, lista HTTP proxyja daje odgovarajuće vrednosti hosta/porta za primer. Metod proxy takođe prihvata korisničko ime i lozinku kao opcionalne treći i četvrti argument kada to endpoint zahteva.
Koristite konfigurisani agent ponovo za zahteve koji pripadaju istoj sesiji pregledanja. On nosi kolačiće i istoriju, kao i mrežne postavke. Promena izlaznog proxyja sama po sebi ne stvara novi identitet niti odbacuje kolačić za prijavu.
Za više proxy sesija dajte svakoj sopstveni agent umesto da menjate jedan zajednički agent dok je posao u toku. Biblioteka takođe dokumentuje jedinstvena imena veza kada su potrebne odvojene SSL veze; ime konstruktora u primeru čini taj izbor eksplicitnim.
Grupisanje povezanih provera URL-a po proxyju može smanjiti nepotrebno rekonfigurisanje. Držite rezultat povezan sa rutom i URL-om koji su ga proizveli, uključujući preusmeravanja i odgovore sa greškom.
Mechanize ne reprodukuje izvršavanje JavaScripta u pregledaču. Koristite pravi pregledač kada ponašanje koje se testira zavisi od skripti, renderovanja ili autentifikacije specifične za pregledač. Uspešno HTTP preuzimanje kroz proxy odgovara na uže pitanje da je ovaj agent mogao da izvrši taj zahtev.