Bash curl վստահված սերվերի ցանկեր. հեռացնել վերջին CR-ը CRLF տողերից
Կարդացեք վստահված սերվերի URL-ները տող առ տող Bash-ում և արժեքը curl-ին փոխանցելուց առաջ հեռացրեք մեկ վերջին CR CRLF ֆայլերից։
CRLF ֆայլից պատճենված տողը կարող է թվալ որպես proxy.example:8080, մինչդեռ փոփոխականն իրականում ավարտվում է կառքի վերադարձի նշանով։ Փոփոխականը չակերտների մեջ դնելը պահպանում է այդ նշանը. այն չի հեռացնում այն։
Bash ֆայլի համար, որը պարունակում է մեկ ամբողջական վստահված սերվերի URL յուրաքանչյուր տողում.
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 արգումենտ։ Խուսափեք հրամանի փոխարինման ելքի վրա կրկնությունից. shell-ի բառաբաժանումը կարող է փոխել ֆայլի գրառումների սահմանները մինչև curl-ը դրանք տեսնելը։
Սա նորմալացնում է տողերի ավարտները։ Այն չի շտկում սխալ լսողության արձանագրությունը, բացակայող վերջնակետը կամ անհասանելի ծառայությունը։