socks.set_default_proxy() သည် နောက်လာမည့် PySocks socksocket အရာဝတ္ထုများအတွက် မူလတန်ဖိုးများကို သိမ်းဆည်းထားသည်။ ၎င်းသည် Python ၏ မူရင်း socket class ကို အစားမထိုးပါ။ ထို့ကြောင့် FTP ချိတ်ဆက်မှုမတိုင်မီ ခေါ်ဆိုမှု ဖြစ်ပွားသည်ဟူသော အကြောင်းကြောင့်သာ ftplib ကို လမ်းကြောင်းပြောင်းပေးခြင်း မရှိပါ။

proxy URL ကို သိမ်းထားသော variable ကို မလိုက်ဘဲ constructor များကို လိုက်ပါ။ ftplib သည် ထိန်းချုပ်ချိတ်ဆက်မှုတစ်ခုနှင့် ထပ်ဆောင်း လွှဲပြောင်းချိတ်ဆက်မှုများကို ဖန်တီးသည်။ passive FTP တွင် အောင်မြင်သော login သည် ထိန်းချုပ်ချိတ်ဆက်မှု အလုပ်လုပ်ခဲ့ကြောင်းသာ သက်သေပြသည်။ စာရင်း သို့မဟုတ် ဖိုင်လွှဲပြောင်းမှုအတွက် အသုံးပြုသော data socket သည်လည်း ရည်ရွယ်ထားသော လမ်းကြောင်း လိုအပ်သည်။

socket.socket ကို အစားထိုးသော သို့မဟုတ် module တစ်ခုကို ခြုံပတ်သော နည်းလမ်းသည် PySocks မူလတန်ဖိုးများ သတ်မှတ်ခြင်းထက် အခြားလုပ်ဆောင်ချက်တစ်ခုကို ပြုလုပ်သည်။ ၎င်းသည် ထို module ကို မျှဝေသုံးစွဲသော အခြား library များကို သက်ရောက်နိုင်သည်။ နောက်ပိုင်း မူရင်းကို ပြန်လည်ထားရှိခြင်းသည် တစ်ချိန်တည်း ချိတ်ဆက်မှုများကို ထိုပြောင်းလဲမှုမှ သီးခြားဖြစ်စေမည် မဟုတ်ပါ။

စိတ်ကြိုက် ftplib subclass သည် ချိတ်ဆက်မှုလမ်းကြောင်းများကို လွှမ်းခြုံနိုင်သော်လည်း ကူးယူထားသော အတွင်းပိုင်းများသည် ၎င်းတို့ ဆင်းသက်လာသော Python ဗားရှင်း၏ ယူဆချက်များဖြစ်သည့် timeout sentinel နှင့် protocol ကိုင်တွယ်မှုတို့ကို သယ်ဆောင်လာသည်။ standard library အပ်ဒိတ်များသည် ထိုမိတ္တူကို အပ်ဒိတ်မလုပ်ပါ။

လိုအပ်သော proxy နှင့် FTP mode အတွက် ထိန်းသိမ်းထားသော client သို့မဟုတ် ပံ့ပိုးထားသော integration ကို ရွေးပါ။ PycURL ဖြင့် passive FTP ဒေါင်းလုဒ် ဥပမာသည် သီးခြား client လမ်းကြောင်းကို ပြသသည်။ application ပိုင်ဆိုင်သော စိတ်ကြိုက်ပြင်ဆင်မှုအတွက် မည်သည့် constructor က ထိန်းချုပ်နှင့် data socket တစ်ခုစီကို ဖွင့်သည်ကို ဖော်ထုတ်ပြီး ၎င်းအစားထိုးသော upstream အပြုအမူကို ထိန်းသိမ်းပါ။ မှန်ကန်သော proxy တန်ဖိုးသည် ထို constructor များ အမှန်တကယ် အသုံးပြုမှသာ အကျိုးရှိသည်။

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