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-ը դրանք տեսնելը։

Սա նորմալացնում է տողերի ավարտները։ Այն չի շտկում սխալ լսողության արձանագրությունը, բացակայող վերջնակետը կամ անհասանելի ծառայությունը։

Առնչվող հոդվածներ