Bash curl ပရောက်စီစာရင်းများ− CRLF လိုင်းများမှ အဆုံးသတ် CR ကို ဖယ်ရှားခြင်း
Bash တွင် ပရောက်စီ URL များကို တစ်လိုင်းချင်းဖတ်ပြီး တန်ဖိုးကို curl သို့ မပေးမီ CRLF ဖိုင်များမှ အဆုံးသတ် CR တစ်ခုကို ဖယ်ရှားပါ။
CRLF ဖိုင်မှ ကူးယူထားသော လိုင်းတစ်ခုသည် proxy.example:8080 နှင့် တူနေပုံရနိုင်သော်လည်း ကိန်းရှင်သည် အမှန်တကယ် carriage return ဖြင့် အဆုံးသတ်နေသည်။ ကိန်းရှင်ကို ကိုးကားအမှတ်အသားများဖြင့် ထည့်ခြင်းသည် ထိုစာလုံးကို ထိန်းသိမ်းသည်။ ၎င်းကို မဖယ်ရှားပါ။
တစ်လိုင်းလျှင် ပြည့်စုံသော ပရောက်စီ URL တစ်ခုပါသော Bash ဖိုင်အတွက်−
target='https://api.example/'
while IFS= read -r proxy || [ -n "$proxy" ]; do
proxy=${proxy%$'\r'}
if [ -z "$proxy" ]; then
continue
fi
curl --proxy "$proxy" --max-time 10 --url "$target"
done < ProxyList.txt
http://proxy.example:8080 ကဲ့သို့သော အချက်အလက်များကို အသုံးပြုပါ။ HTTP ပရောက်စီစာရင်း သည် ထိုသို့ပုံစံချရန် အများသူငှာ လိပ်စာကိုယ်စားလှယ်လောင်းများကို ပေးသည်။ read သည် လိုင်းအသစ်ခွဲခြားသတ်မှတ်ချက်ကို ဖယ်ရှားသည်။ နောက်ဆက်တွဲ တိုးချဲ့မှုသည် ရှိပါက အဆုံးသတ် CR တစ်ခုကို ဖယ်ရှားသည်။ အခြေအနေသည် လိုင်းအသစ်မပါသော နောက်ဆုံး ဗလာမဟုတ်သော လိုင်းကိုလည်း လုပ်ဆောင်သည်။
IFS= သည် read အတွင်း အကွက်ခွဲခြားမှုကို တားဆီးပြီး -r သည် တိုက်ရိုက် backslash များကို ထိန်းသိမ်းသည်။ ထို့နောက် နှစ်ထပ်ကိုးကားအမှတ်အသားများသည် ရလဒ် URL ကို curl အငြင်းအခုံတစ်ခုအဖြစ် ပေးပို့သည်။ command အစားထိုးမှု၏ ရလဒ်အပေါ် ထပ်ကျော့ခြင်းကို ရှောင်ပါ။ shell ၏ စကားလုံးခွဲခြားမှုသည် curl မမြင်မီ ဖိုင်၏ မှတ်တမ်းအကန့်အသတ်များကို ပြောင်းလဲနိုင်သည်။
ဤသည် လိုင်းအဆုံးသတ်များကို ပုံမှန်ဖြစ်စေသည်။ မှားယွင်းသော နားထောင်မှု ပရိုတိုကော၊ ပျောက်ဆုံးနေသော အဆုံးမှတ် သို့မဟုတ် မရောက်နိုင်သော ဝန်ဆောင်မှုကို မပြုပြင်ပါ။