As die taak is om HTTP-response te ondersoek en gewone skakels te volg, is 'n volledige blaaier nie altyd nodig nie. Ruby Mechanize stel die proxy beskikbaar op die agent wat daardie versoeke uitvoer:

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

Dit veronderstel dat die mechanize-biblioteek gelaai is. Vir 'n toegelate publieke-bladsy-toets sonder proxy-verifikasie verskaf die HTTP-proxylys kandidaat-gasheer/poort-waardes vir die voorbeeld. Die proxy-metode aanvaar ook 'n gebruikersnaam en wagwoord as sy opsionele derde en vierde argumente wanneer die eindpunt dit vereis.

Hergebruik die opgestelde agent vir versoeke wat aan dieselfde blaaisessie behoort. Dit dra koekies en geskiedenis sowel as netwerkinstellings. Om die uitgangsproxy te verander skep nie inherent 'n nuwe identiteit nie en gooi nie 'n aanmeldkoekie weg nie.

Vir verskeie proxy-sessies, gee elkeen sy eie agent eerder as om een gedeelde agent te verander terwyl werk aan die gang is. Die biblioteek dokumenteer ook unieke verbindingsname wanneer geskeide SSL-verbindings vereis word; die konstrukteurnaam in die voorbeeld maak daardie keuse eksplisiet.

Om verwante URL-toetse per proxy te groepeer kan onnodige herkonfigurasie verminder. Hou die resultaat gekoppel aan die roete en URL wat dit voortgebring het, insluitend herleidings en foutresponse.

Mechanize reproduseer nie 'n blaaier se JavaScript-uitvoering nie. Gebruik 'n werklike blaaier wanneer die gedrag wat getoets word van skrifte, weergee of blaaier-spesifieke verifikasie afhang. 'n Suksesvolle HTTP-ophaal deur die proxy beantwoord die nouer vraag dat hierdie agent daardie versoek kon maak.

Verwante artikels