Saglabājiet Ruby Mechanize aģentu katrai starpniekservera sesijai
Vienreiz iestatiet Ruby Mechanize aģenta starpniekserveri, izmantojiet to atkārtoti saistītiem pieprasījumiem un apzināti ierobežojiet sīkfailu stāvokli un pastāvīgos savienojumus.
Ja uzdevums ir pārbaudīt HTTP atbildes un sekot parastām saitēm, pilnvērtīga pārlūkprogramma ne vienmēr ir nepieciešama. Ruby Mechanize atklāj starpniekserveri aģentā, kas veic šos pieprasījumus:
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
endTas paredz, ka mechanize bibliotēka ir ielādēta. Atļautai publiskas lapas pārbaudei bez starpniekservera autentifikācijas HTTP starpniekserveru saraksts sniedz piemēram piemērotas resursdatora/porta vērtības. Proxy metode arī pieņem lietotājvārdu un paroli kā neobligātus trešo un ceturto argumentu, ja to pieprasa galapunkts.
Izmantojiet konfigurēto aģentu atkārtoti pieprasījumiem, kas pieder tai pašai pārlūkošanas sesijai. Tas pārnēsā sīkfailus un vēsturi, kā arī tīkla iestatījumus. Izejas starpniekservera maiņa pati par sevi nerada jaunu identitāti un neizmet pieteikšanās sīkfailu.
Vairākām starpniekservera sesijām dodiet katrai savu aģentu, nevis darba laikā mainiet vienu koplietotu aģentu. Bibliotēka arī dokumentē unikālus savienojumu nosaukumus, ja nepieciešami atsevišķi SSL savienojumi; konstruktora nosaukums piemērā šo izvēli padara skaidru.
Saistītu URL pārbaužu grupēšana pēc starpniekservera var samazināt lieku pārkonfigurēšanu. Turiet rezultātu saistītu ar maršrutu un URL, kas to radīja, ieskaitot novirzīšanas un kļūdu atbildes.
Mechanize neatveido pārlūkprogrammas JavaScript izpildi. Izmantojiet īstu pārlūkprogrammu, ja pārbaudāmā uzvedība ir atkarīga no skriptiem, renderēšanas vai pārlūkprogrammai raksturīgas autentifikācijas. Veiksmīga HTTP iegūšana caur starpniekserveri atbild uz šaurāko jautājumu: ka šis aģents varēja veikt šo pieprasījumu.