Jei užduotis yra tikrinti HTTP atsakymus ir sekti įprastas nuorodas, viso naršyklės variklio ne visada reikia. Ruby Mechanize atskleidžia proxy tame agente, kuris atlieka tas užklausas:

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

Tai daro prielaidą, kad mechanize biblioteka įkelta. Leidžiamam viešo puslapio patikrinimui be proxy autentifikavimo HTTP proxy sąrašas pateikia tinkamas host/port reikšmes pavyzdžiui. Proxy metodas taip pat priima vartotojo vardą ir slaptažodį kaip neprivalomus trečiąjį ir ketvirtąjį argumentus, kai to reikalauja endpoint.

Naudokite sukonfigūruotą agentą pakartotinai užklausoms, priklausančioms tai pačiai naršymo sesijai. Jis neša slapukus ir istoriją bei tinklo nustatymus. Išeinančio proxy pakeitimas savaime nesukuria naujos tapatybės ir neatsisako prisijungimo slapuko.

Kelioms proxy sesijoms duokite kiekvienai savo agentą, o ne keiskite vieną bendrą agentą, kol darbas vyksta. Biblioteka taip pat dokumentuoja unikalius ryšio pavadinimus, kai reikia atskirų SSL ryšių; konstruktoriaus pavadinimas pavyzdyje tą pasirinkimą padaro aiškų.

Susijusių URL patikrinimų grupavimas pagal proxy gali sumažinti nereikalingą perkonfigūravimą. Laikykite rezultatą susietą su maršrutu ir URL, kurie jį sukūrė, įskaitant peradresavimus ir klaidų atsakymus.

Mechanize neatkuria naršyklės JavaScript vykdymo. Naudokite tikrą naršyklę, kai bandomas elgesys priklauso nuo scenarijų, atvaizdavimo ar naršyklės specifinės autentifikacijos. Sėkmingas HTTP gavimas per proxy atsako į siauresnį klausimą, kad šis agentas galėjo atlikti tą užklausą.

Susiję straipsniai