dart:io ၏ HttpClient သည် proxy ဆုံးဖြတ်ချက်ကို findProxy မှတစ်ဆင့် လက်ခံသည်။ ပြန်ခေါ်သည့် လုပ်ဆောင်ချက်သည် PAC ပုံစံ ညွှန်ကြားချက်ကို ပြန်ပေးသည်။

import 'dart:io';

final client = HttpClient()
  ..findProxy = (_) => 'PROXY proxy.example.net:8080';

ဤ client ကို application ၏ တောင်းဆိုမှုများအတွက် အသုံးပြုပါ။ http://proxy.example.net:8080 ကို ပြန်ပေးခြင်းသည် ဤပြန်ခေါ်လုပ်ဆောင်ချက်အတွက် မှားယွင်းသော ပုံစံဖြစ်သည်။ ပံ့ပိုးထားသော ပုံစံမှာ PROXY နောက်တွင် host နှင့် port ဖြစ်သည်။ ခွင့်ပြုထားသော အများပြည်သူ တောင်းဆိုမှုများအတွက် HTTP proxy စာရင်းမှ HTTP ကိုယ်စားလှယ်လောင်းကို ယူပြီး ထိုညွှန်ကြားချက်အဖြစ် ဖော်မတ်ချပါ။

ပြန်ခေါ်လုပ်ဆောင်ချက်သည် ဦးတည်ရာ URI ကို လက်ခံသည်၊ ထို့ကြောင့် ရည်ရွယ်ချက်ရှိရှိ ကျော်လွှားရန် DIRECT ပြန်ပေးနိုင်သည်။ PROXY proxy.example.net:8080; DIRECT ကဲ့သို့ ရလဒ်သည် proxy ကို အသုံးမပြုနိုင်ချိန်တွင် တိုက်ရိုက် အရန်လမ်းကိုလည်း ခွင့်ပြုသည်။ ထိုအရန်လမ်းကို မလိုလားပါက DIRECT ကို ချန်လှပ်ပါ။

findProxy လုပ်ဆောင်ချက် မရှိပါက ဤ API သည် တိုက်ရိုက် ချိတ်ဆက်မှုများကို အသုံးပြုသည်။ ပတ်ဝန်းကျင်အခြေခံ ရွေးချယ်မှုကို လိုလားသော application များသည် ပြန်ခေါ်လုပ်ဆောင်ချက်သို့ HttpClient.findProxyFromEnvironment ကို သတ်မှတ်နိုင်သည်။

ဤသည် ပံ့ပိုးထားသော native platform များတွင် dart:io အသုံးပြုသည့် Flutter ကုဒ်အတွက် သက်ဆိုင်သည်။ Flutter Web တောင်းဆိုမှုများသည် browser ၏ ကွန်ရက် ဝန်ဆောင်မှုများကို အသုံးပြုပြီး browser ၏ proxy မူဝါဒ လိုအပ်သည်။

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