curl ၏ --preproxy option သည် HTTP သို့မဟုတ် HTTPS proxy သို့ မရောက်မီ SOCKS proxy သို့ ချိတ်ဆက်သည်။ ၎င်းသည် ယခုသီးသန့်ကွင်းဆက်ကို ပံ့ပိုးပြီး proxy server များ၏ စိတ်ကြိုက်စာရင်းကို မပံ့ပိုးပါ။

လမ်းကြောင်းမှာ client → SOCKS endpoint → HTTP proxy → ဦးတည်ရာ ဖြစ်သည်။ Command ရှိ မှတ်တမ်းဥပမာ endpoint နှစ်ခုလုံးကို အစားထိုးပါ။

curl --preproxy socks5h://203.0.113.10:1080 --proxy http://203.0.113.20:8080 --noproxy '' --connect-timeout 5 --max-time 20 --verbose https://example.com/

SOCKS ဝန်ဆောင်မှုသည် HTTP proxy ၏ လိပ်စာနှင့် port သို့ ရောက်နိုင်ရမည်။ ထို့နောက် HTTP proxy က ဦးတည်ရာတောင်းဆိုမှုကို လက်ခံရမည်။ ဒုတိယ proxy ကို hostname ဖြင့်ပေးထားလျှင် ပထမ SOCKS mode က ထိုအမည်ကို ဘယ်နေရာတွင် resolve လုပ်မည်ဟု သတ်မှတ်သည်။ ဂဏန်းလိပ်စာ endpoint သည် ထိုရှာဖွေမှုကို ရှောင်နိုင်သည်။

မအောင်မြင်သည့်အဆင့် ရှာခြင်း

ပထမဦးစွာ endpoint တစ်ခုစီမှ တောင်းဆိုမှုကို သီးခြားအတည်ပြုပါ။ HTTP အဆင့်အတွက် အချိန်ကန့်သတ်ထားသော HTTP proxy စမ်းသပ်မှုကို သုံးပါ။ နှစ်ခုလုံး အလုပ်လုပ်သော်လည်း ပထမ proxy က ဒုတိယကို မရောက်နိုင်သဖြင့် ပေါင်းစပ်လမ်းကြောင်း မအောင်မြင်နိုင်ပါ။

အသေးစိတ် trace ကို ချိတ်ဆက်မှုအစဉ်အတိုင်း ဖတ်ပါ။ ဒုတိယ proxy ကို ရောက်ရန် ကြိုးစားစဉ် SOCKS ချို့ယွင်းမှုသည် HTTP proxy က ဝဘ်ဆိုက်သို့ CONNECT ကို လက်ခံမည် သို့မဟုတ် ငြင်းမည်ဟု မဆုံးဖြတ်မီ ဖြစ်သည်။ မည်သည့် handshake မအောင်မြင်ကြောင်း မှတ်ပါ။

ထပ်တိုးအဆင့်က ဘယ်အခါ အထောက်အကူဖြစ်သလဲ

ခွင့်ပြုထားသော HTTP proxy ကို SOCKS လမ်းကြောင်းမှ ရောက်နိုင်လျှင် ဤအစီအစဉ် အသုံးဝင်နိုင်သည်။ သို့သော် ပျက်နိုင်သော သို့မဟုတ် ကြန့်ကြာချိန်တိုးစေနိုင်သော ဝန်ဆောင်မှုနှင့် ကွန်ရက်လမ်းကြောင်းတစ်ခု ထပ်ပေါင်းသည်။ အများသုံး proxy စာရင်းမှ endpoint များကို ကွင်းဆက်ဖွဲ့ခြင်းသည် ယုံကြည်စိတ်ချရမှု သို့မဟုတ် အမည်မဖော်နိုင်မှု အာမမခံသလို ချိတ်ဆက်မှုကို ကိုင်တွယ်သူများအပေါ် ယုံကြည်မှုလည်း လိုအပ်နေသေးသည်။

--preproxy အတွက် curl 7.52.0 သို့မဟုတ် အသစ် လိုသည်။ အခြားအက်ပ်များက ယခုအစီအစဉ်ကို မပံ့ပိုးနိုင်ပါ။

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