Jika tugasnya memeriksa respons HTTP dan mengikuti tautan biasa, browser lengkap tidak selalu diperlukan. Ruby Mechanize mengekspos proxy pada agen yang melakukan permintaan tersebut:

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

Ini mengasumsikan pustaka mechanize sudah dimuat. Untuk pemeriksaan halaman publik yang diizinkan tanpa autentikasi proxy, daftar proxy HTTP menyediakan nilai host/port yang sesuai untuk contoh. Metode proxy juga menerima nama pengguna dan kata sandi sebagai argumen ketiga dan keempat opsional saat endpoint memerlukannya.

Gunakan kembali agen yang telah dikonfigurasi untuk permintaan yang termasuk dalam sesi penjelajahan yang sama. Agen membawa cookie dan riwayat serta pengaturan jaringan. Mengganti proxy keluar tidak dengan sendirinya menciptakan identitas baru atau membuang cookie login.

Untuk beberapa sesi proxy, beri masing-masing agennya sendiri alih-alih mengganti satu agen bersama saat pekerjaan berlangsung. Pustaka juga mendokumentasikan nama koneksi unik saat koneksi SSL terpisah diperlukan; nama konstruktor dalam contoh membuat pilihan itu eksplisit.

Mengelompokkan pemeriksaan URL terkait menurut proxy dapat mengurangi konfigurasi ulang yang tidak perlu. Simpan hasilnya terkait dengan rute dan URL yang menghasilkannya, termasuk pengalihan dan respons galat.

Mechanize tidak mereproduksi eksekusi JavaScript browser. Gunakan browser sungguhan ketika perilaku yang diuji bergantung pada skrip, rendering, atau autentikasi khusus browser. Pengambilan HTTP yang berhasil melalui proxy menjawab pertanyaan yang lebih sempit: bahwa agen ini mampu membuat permintaan itu.

Artikel terkait