Kekalkan ejen Ruby Mechanize untuk setiap sesi proksi
Tetapkan proksi ejen Ruby Mechanize sekali, gunakannya semula untuk permintaan berkaitan, dan hadkan keadaan kuki serta sambungan berterusan secara sengaja.
Jika tugasnya menyemak respons HTTP dan mengikuti pautan biasa, pelayar penuh tidak selalu diperlukan. Ruby Mechanize mendedahkan proksi pada ejen yang membuat 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
endIni menganggap pustaka mechanize telah dimuatkan. Untuk semakan halaman awam yang dibenarkan tanpa pengesahan proksi, senarai proksi HTTP menyediakan nilai hos/port yang sesuai untuk contoh. Kaedah proksi juga menerima nama pengguna dan kata laluan sebagai argumen ketiga dan keempat pilihan apabila endpoint memerlukannya.
Gunakan semula ejen yang dikonfigurasikan untuk permintaan yang tergolong dalam sesi pelayaran yang sama. Ia membawa kuki dan sejarah serta tetapan rangkaian. Menukar proksi keluar tidak dengan sendirinya mencipta identiti baharu atau membuang kuki log masuk.
Untuk beberapa sesi proksi, berikan setiap satu ejennya sendiri daripada menukar satu ejen kongsi semasa kerja sedang berjalan. Pustaka juga mendokumenkan nama sambungan unik apabila sambungan SSL berasingan diperlukan; nama pembina dalam contoh menjadikan pilihan itu eksplisit.
Mengumpulkan semakan URL berkaitan mengikut proksi boleh mengurangkan konfigurasi semula yang tidak perlu. Simpan hasilnya berkaitan dengan laluan dan URL yang menghasilkannya, termasuk ubah hala dan respons ralat.
Mechanize tidak menghasilkan semula pelaksanaan JavaScript pelayar. Gunakan pelayar sebenar apabila tingkah laku yang diuji bergantung pada skrip, pemaparan atau pengesahan khusus pelayar. Pengambilan HTTP yang berjaya melalui proksi menjawab soalan yang lebih sempit: bahawa ejen ini mampu membuat permintaan itu.