প্রতিটি প্রক্সি সেশনের জন্য একটি Ruby Mechanize এজেন্ট রাখুন
Ruby Mechanize এজেন্টের প্রক্সি একবার সেট করুন, সংশ্লিষ্ট অনুরোধে পুনরায় ব্যবহার করুন, এবং কুকি অবস্থা ও স্থায়ী সংযোগ সচেতনভাবে সীমিত রাখুন।
কাজটি যদি HTTP প্রতিক্রিয়া যাচাই করা এবং সাধারণ লিংক অনুসরণ করা হয়, তবে সবসময় পূর্ণ ব্রাউজার প্রয়োজন হয় না। Ruby Mechanize সেই অনুরোধগুলি সম্পাদনকারী এজেন্টের উপর প্রক্সি উন্মোচন করে:
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এটি ধরে নেয় mechanize লাইব্রেরি লোড করা আছে। প্রক্সি প্রমাণীকরণ ছাড়া অনুমোদিত পাবলিক পৃষ্ঠা যাচাইয়ের জন্য HTTP প্রক্সি তালিকা উদাহরণের জন্য উপযুক্ত হোস্ট/পোর্ট মান দেয়। প্রক্সি পদ্ধতিটি endpoint-এর প্রয়োজন হলে ব্যবহারকারীর নাম ও পাসওয়ার্ডকে ঐচ্ছিক তৃতীয় ও চতুর্থ আর্গুমেন্ট হিসেবে গ্রহণ করে।
একই ব্রাউজিং সেশনের অনুরোধের জন্য কনফিগার করা এজেন্টটি পুনরায় ব্যবহার করুন। এটি কুকি ও ইতিহাসের পাশাপাশি নেটওয়ার্ক সেটিংস বহন করে। এক্সিট প্রক্সি পরিবর্তন করলে স্বাভাবিকভাবেই নতুন পরিচয় তৈরি হয় না বা লগইন কুকি বাতিল হয় না।
একাধিক প্রক্সি সেশনের জন্য কাজ চলাকালীন একটি সাধারণ এজেন্ট পরিবর্তনের বদলে প্রত্যেকটিকে নিজস্ব এজেন্ট দিন। আলাদা SSL সংযোগ প্রয়োজন হলে লাইব্রেরি অনন্য সংযোগ নামও নথিভুক্ত করে; উদাহরণের কনস্ট্রাক্টর নাম সেই পছন্দ স্পষ্ট করে।
সংশ্লিষ্ট URL যাচাই প্রক্সি অনুযায়ী গোষ্ঠীবদ্ধ করলে অপ্রয়োজনীয় পুনরায় কনফিগারেশন কমতে পারে। ফলাফলটি যে রুট ও URL এটি তৈরি করেছে তার সঙ্গে রাখুন, রিডাইরেক্ট ও ত্রুটি প্রতিক্রিয়া সহ।
Mechanize ব্রাউজারের JavaScript সম্পাদন পুনরুৎপাদন করে না। পরীক্ষাধীন আচরণ স্ক্রিপ্ট, রেন্ডারিং বা ব্রাউজার-নির্দিষ্ট প্রমাণীকরণের উপর নির্ভর করলে প্রকৃত ব্রাউজার ব্যবহার করুন। প্রক্সির মাধ্যমে সফল HTTP ফেচ সেই সংকীর্ণ প্রশ্নের উত্তর দেয় যে এই এজেন্টটি অনুরোধটি করতে পেরেছিল।