Ako je zadatak provjera HTTP odgovora i praćenje običnih linkova, 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, lista HTTP proxyja daje odgovarajuće vrijednosti hosta/porta za primjer. Metoda proxy također prihvata korisničko ime i lozinku kao opcionalne treći i četvrti argument kada to endpoint zahtijeva.

Koristite konfigurisani agent ponovo za zahtjeve koji pripadaju istoj sesiji pregledanja. On nosi kolačiće i historiju, 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 vlastiti agent umjesto mijenjanja jednog zajedničkog agenta dok je posao u toku. Biblioteka također dokumentuje jedinstvena imena veza kada su potrebne odvojene SSL veze; ime konstruktora u primjeru čini taj izbor eksplicitnim.

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

Mechanize ne reprodukuje izvršavanje JavaScripta u pregledniku. Koristite pravi preglednik kada ponašanje koje se testira zavisi od skripti, renderiranja ili autentifikacije specifične za preglednik. Uspješno HTTP preuzimanje kroz proxy odgovara na uže pitanje da je ovaj agent mogao izvršiti taj zahtjev.

Povezani članci