Bash curl прокси тизмелери: CRLF саптарынын аягындагы CR белгисин алып салуу
Bash ичинде прокси URL даректерин сап боюнча окуп, маанини curl'га берүүдөн мурун CRLF файлдарынан бир аяккы CR белгисин алып салыңыз.
CRLF файлынан көчүрүлгөн сап proxy.example:8080 сыяктуу көрүнүшү мүмкүн, бирок өзгөрмө чындыгында каретканы кайтаруу белгиси менен аяктайт. Өзгөрмөнү тырмакчага алуу ошол белгини сактайт; аны алып салбайт.
Ар бир сапта бир толук прокси 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 сөзмө-сөз артка кыйшайган сызыктарды сактайт. Андан кийин кош тырмакчалар алынган URL'ди бир curl аргументи катары берет. Буйрукту алмаштыруунун чыгышы боюнча кайталоодон качыңыз: кабыктын сөз бөлүүсү curl аларды көрүүдөн мурун файлдын жазуу чегин өзгөртүшү мүмкүн.
Бул сап аяктарын нормалдаштырат. Ал туура эмес угуу протоколун, жок акыркы чекитти же жеткиликсиз кызматты оңдобойт.