Behold en Ruby Mechanize-agent per proxy-økt
Sett proxyen til en Ruby Mechanize-agent én gang, gjenbruk den for relaterte forespørsler, og avgrens cookie-tilstand og vedvarende tilkoblinger bevisst.
Hvis oppgaven er å kontrollere HTTP-svar og følge vanlige lenker, er en full nettleser ikke alltid nødvendig. Ruby Mechanize eksponerer proxyen på agenten som utfører disse forespørslene:
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
endDette forutsetter at mechanize-biblioteket er lastet. For en tillatt kontroll av en offentlig side uten proxy-autentisering gir HTTP-proxylisten egnede vert/port-verdier for eksempelet. Proxy-metoden godtar også brukernavn og passord som valgfrie tredje og fjerde argument når endepunktet krever det.
Gjenbruk den konfigurerte agenten for forespørsler som hører til samme nettleserøkt. Den bærer informasjonskapsler og historikk samt nettverksinnstillinger. Å bytte utgangsproxy skaper ikke i seg selv en ny identitet eller forkaster en innloggingskapsel.
For flere proxy-økter gir du hver sin egen agent i stedet for å bytte én delt agent mens arbeidet pågår. Biblioteket dokumenterer også unike tilkoblingsnavn når adskilte SSL-tilkoblinger kreves; konstruktørnavnet i eksempelet gjør det valget eksplisitt.
Å gruppere relaterte URL-kontroller etter proxy kan redusere unødvendig omkonfigurering. Hold resultatet knyttet til ruten og URL-en som produserte det, inkludert omdirigeringer og feilsvar.
Mechanize gjengir ikke en nettlesers JavaScript-kjøring. Bruk en ekte nettleser når atferden som testes avhenger av skript, rendring eller nettleserspesifikk autentisering. En vellykket HTTP-henting gjennom proxyen svarer på det snevrere spørsmålet om at denne agenten kunne utføre den forespørselen.