Радок, скапіяваны з файла 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. Пазбягайце перабору вываду падстаноўкі каманд: разбіццё слоў абалонкай можа змяніць межы запісаў файла да таго, як curl іх убачыць.

Гэта нармалізуе канчаткі радкоў. Яно не выпраўляе няправільны пратакол праслухоўвання, адсутную канчатковую кропку або недаступны сэрвіс.

Падобныя артыкулы