Bash curl ප්රොක්සි ලැයිස්තු: CRLF පේළිවලින් අවසන් CR ඉවත් කරන්න
Bash තුළ ප්රොක්සි URL පේළියෙන් පේළිය කියවා අගය curl වෙත ලබා දීමට පෙර CRLF ගොනුවලින් එක් අවසන් CR ඉවත් කරන්න.
CRLF ගොනුවකින් පිටපත් කළ පේළියක් proxy.example:8080 ලෙස පෙනුණත්, විචල්යය ඇත්තටම අවසන් වන්නේ carriage return අක්ෂරයකිනි. විචල්යය උද්ධෘත ලකුණු තුළ තැබීම එම අක්ෂරය රඳවා තබයි; එය ඉවත් නොකරයි.
එක් පේළියකට සම්පූර්ණ ප්රොක්සි 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 තර්කයක් ලෙස යවයි. විධාන-ප්රතිස්ථාපනයේ ප්රතිදානය මත පුනරාවර්තනය වළක්වන්න: shell හි වචන බෙදීම curl ඒවා දකින පෙර ගොනුවේ වාර්තා සීමා වෙනස් කළ හැක.
මෙය පේළි අන්ත සාමාන්යකරණය කරයි. එය වැරදි සවන් දීමේ ප්රොටොකොලය, නොමැති අන්ත ලක්ෂ්යය හෝ ළඟා විය නොහැකි සේවාව නිවැරදි නොකරයි.