အလုပ်က 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 ပရောက်စီစာရင်းက ဥပမာအတွက် သင့်လျော်သော host/port တန်ဖိုးများကို ပေးသည်။ endpoint လိုအပ်ပါက proxy နည်းလမ်းသည် အသုံးပြုသူအမည်နှင့် စကားဝှက်ကို ရွေးချယ်နိုင်သော တတိယနှင့် စတုတ္ထ အငြင်းပွားချက်အဖြစ် လက်ခံသည်။

တူညီသော ဘရောက်ဇာဆက်ရှင်နှင့် သက်ဆိုင်သော တောင်းဆိုမှုများအတွက် သတ်မှတ်ပြီးသား ကိုယ်စားလှယ်ကို ပြန်လည်အသုံးပြုပါ။ ၎င်းသည် ကွတ်ကီများနှင့် မှတ်တမ်းအပြင် ကွန်ရက်ဆက်တင်များကိုပါ သယ်ဆောင်သည်။ ထွက်ပေါက် ပရောက်စီကို ပြောင်းခြင်းသည် အထောက်အထားအသစ်ကို အလိုအလျောက် မဖန်တီးပါ၊ လော့ဂ်အင် ကွတ်ကီကိုလည်း မစွန့်ပစ်ပါ။

ပရောက်စီ ဆက်ရှင် အများအပြားအတွက် အလုပ်လုပ်နေစဉ် မျှဝေထားသော ကိုယ်စားလှယ်တစ်ခုကို ပြောင်းမည့်အစား တစ်ခုချင်းစီအတွက် ကိုယ်ပိုင်ကိုယ်စားလှယ် ပေးပါ။ သီးခြား SSL ချိတ်ဆက်မှုများ လိုအပ်ပါက စာကြည့်တိုက်သည် ထူးခြားသော ချိတ်ဆက်မှုအမည်များကိုလည်း မှတ်တမ်းတင်သည်။ ဥပမာရှိ constructor အမည်က ထိုရွေးချယ်မှုကို ရှင်းလင်းစေသည်။

ဆက်စပ်သော URL စစ်ဆေးမှုများကို ပရောက်စီအလိုက် အုပ်စုဖွဲ့ခြင်းက မလိုအပ်သော ပြန်လည်သတ်မှတ်မှုကို လျှော့ချနိုင်သည်။ ရလဒ်ကို ဖန်တီးခဲ့သော လမ်းကြောင်းနှင့် URL နှင့် ဆက်စပ်ထားပါ၊ ပြန်ညွှန်မှုများနှင့် အမှားတုံ့ပြန်မှုများ အပါအဝင်။

Mechanize သည် ဘရောက်ဇာ၏ JavaScript လုပ်ဆောင်မှုကို ပြန်လည်ဖန်တီးခြင်း မပြုပါ။ စမ်းသပ်နေသော အပြုအမူသည် script များ၊ ပြသမှု သို့မဟုတ် ဘရောက်ဇာအလိုက် အတည်ပြုချက်အပေါ် မူတည်ပါက အစစ်အမှန် ဘရောက်ဇာကို အသုံးပြုပါ။ ပရောက်စီမှတစ်ဆင့် အောင်မြင်သော HTTP ရယူမှုသည် ဤကိုယ်စားလှယ်က ထိုတောင်းဆိုမှုကို လုပ်ဆောင်နိုင်ခဲ့သည်ဟူသော ကျဉ်းမြောင်းသည့် မေးခွန်းကို ဖြေသည်။

ဆက်စပ်ဆောင်းပါးများ