Hvis opgaven er at kontrollere HTTP-svar og følge almindelige links, er en fuld browser ikke altid nødvendig. Ruby Mechanize eksponerer proxyen på den agent, der udfører disse anmodninger:

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

Dette forudsætter, at mechanize-biblioteket er indlæst. Til et tilladt offentligt side-tjek uden proxy-godkendelse giver HTTP-proxylisten egnede vært/port-værdier til eksemplet. Proxy-metoden accepterer også et brugernavn og en adgangskode som valgfrie tredje og fjerde argument, når endpointet kræver det.

Genbrug den konfigurerede agent til anmodninger, der hører til samme browsing-session. Den bærer cookies og historik samt netværksindstillinger. At skifte exit-proxyen skaber ikke i sig selv en ny identitet eller kasserer en login-cookie.

Til flere proxy-sessioner skal du give hver sin egen agent i stedet for at skifte én delt agent, mens arbejdet er i gang. Biblioteket dokumenterer også unikke forbindelsesnavne, når adskilte SSL-forbindelser kræves; konstruktørnavnet i eksemplet gør det valg eksplicit.

At gruppere relaterede URL-tjek efter proxy kan reducere unødig omkonfiguration. Hold resultatet knyttet til den rute og URL, der frembragte det, inklusive omdirigeringer og fejlsvar.

Mechanize gengiver ikke en browsers JavaScript-kørsel. Brug en rigtig browser, når adfærden under test afhænger af scripts, rendering eller browserspecifik godkendelse. Et vellykket HTTP-hent gennem proxyen besvarer det snævrere spørgsmål, at denne agent kunne udføre den anmodning.

Relaterede artikler