Mbaj një agjent Ruby Mechanize për çdo sesion proxy
Vendos një herë proxy-n e agjentit Ruby Mechanize, ripërdore atë për kërkesa të lidhura dhe kufizo me qëllim gjendjen e cookie-ve dhe lidhjet e vazhdueshme.
Nëse detyra është kontrollimi i përgjigjeve HTTP dhe ndjekja e lidhjeve të zakonshme, një shfletues i plotë nuk nevojitet gjithmonë. Ruby Mechanize e ekspozon proxy-n te agjenti që kryen ato kërkesa:
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
endKjo supozon se biblioteka mechanize është ngarkuar. Për një kontroll të lejuar të një faqe publike pa vërtetim proxy, lista e proxy-ve HTTP ofron vlera të përshtatshme host/port për shembullin. Metoda proxy pranon gjithashtu emrin e përdoruesit dhe fjalëkalimin si argumentin e tretë dhe të katërt opsional kur endpoint-i i kërkon ato.
Ripërdor agjentin e konfiguruar për kërkesat që i përkasin të njëjtit sesion shfletimi. Ai mbart cookie-t dhe historikun, si dhe cilësimet e rrjetit. Ndryshimi i proxy-s së daljes nuk krijon vetvetiu një identitet të ri dhe nuk hedh poshtë një cookie hyrjeje.
Për disa sesione proxy, jepini secilit agjentin e vet në vend që të ndryshoni një agjent të përbashkët ndërsa puna është në vazhdim. Biblioteka dokumenton gjithashtu emra unikë lidhjeje kur kërkohen lidhje SSL të ndara; emri i konstruktorit në shembull e bën atë zgjedhje të qartë.
Grupimi i kontrolleve të lidhura të URL-së sipas proxy-s mund të zvogëlojë rikonfigurimin e panevojshëm. Mbaj rezultatin të lidhur me rrugën dhe URL-në që e prodhuan, përfshirë ridrejtimet dhe përgjigjet e gabimit.
Mechanize nuk riprodhon ekzekutimin e JavaScript të shfletuesit. Përdor një shfletues të vërtetë kur sjellja në provë varet nga skriptet, renderimi ose vërtetimi specifik i shfletuesit. Një marrje HTTP e suksesshme përmes proxy-s i përgjigjet pyetjes më të ngushtë: se ky agjent mundi ta kryejë atë kërkesë.