Спісы проксі Bash curl: выдаліць канчатковы CR з радкоў CRLF
Чытайце URL проксі па радках у Bash і выдаляйце адзін канчатковы CR з файлаў CRLF перад перадачай значэння ў curl.
Радок, скапіяваны з файла 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 іх убачыць.
Гэта нармалізуе канчаткі радкоў. Яно не выпраўляе няправільны пратакол праслухоўвання, адсутную канчатковую кропку або недаступны сэрвіс.