Zachowaj agenta Ruby Mechanize dla każdej sesji proxy
Ustaw proxy agenta Ruby Mechanize raz, używaj go ponownie do powiązanych żądań i świadomie ograniczaj stan plików cookie oraz trwałe połączenia.
Jeśli zadaniem jest sprawdzanie odpowiedzi HTTP i podążanie za zwykłymi linkami, pełna przeglądarka nie zawsze jest potrzebna. Ruby Mechanize udostępnia proxy na agencie wykonującym te żądania:
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
endZakłada to, że biblioteka mechanize jest załadowana. Do dozwolonego sprawdzenia publicznej strony bez uwierzytelniania proxy lista proxy HTTP podaje odpowiednie wartości host/port dla przykładu. Metoda proxy przyjmuje też nazwę użytkownika i hasło jako opcjonalne trzeci i czwarty argument, gdy wymaga ich endpoint.
Używaj skonfigurowanego agenta ponownie do żądań należących do tej samej sesji przeglądania. Przenosi pliki cookie i historię oraz ustawienia sieciowe. Zmiana proxy wyjściowego sama z siebie nie tworzy nowej tożsamości ani nie odrzuca pliku cookie logowania.
Dla kilku sesji proxy daj każdej własnego agenta zamiast zmieniać jednego wspólnego agenta w trakcie pracy. Biblioteka dokumentuje też unikalne nazwy połączeń, gdy potrzebne są odseparowane połączenia SSL; nazwa konstruktora w przykładzie czyni ten wybór jawnym.
Grupowanie powiązanych kontroli URL według proxy może zmniejszyć zbędną rekonfigurację. Trzymaj wynik powiązany z trasą i adresem URL, które go wytworzyły, łącznie z przekierowaniami i odpowiedziami błędów.
Mechanize nie odtwarza wykonywania JavaScript przez przeglądarkę. Użyj prawdziwej przeglądarki, gdy testowane zachowanie zależy od skryptów, renderowania lub uwierzytelniania specyficznego dla przeglądarki. Udane pobranie HTTP przez proxy odpowiada na węższe pytanie: że ten agent mógł wykonać to żądanie.