Bash curl-proksilyste: verwyder die nasleep-CR uit CRLF-reëls
Lees proksie-URL's reël vir reël in Bash en verwyder een nasleep-CR uit CRLF-lêers voordat die waarde aan curl gegee word.
'n Reël wat uit 'n CRLF-lêer gekopieer is, kan soos proxy.example:8080 lyk terwyl die veranderlike eintlik met 'n CR-karakter eindig. Aanhalingstekens om die veranderlike behou daardie karakter; dit verwyder dit nie.
Vir 'n Bash-lêer met een volledige proksie-URL per reël:
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
Gebruik inskrywings soos http://proxy.example:8080; die HTTP-proksilys verskaf publieke adreskandidate wat so geformateer kan word. read verwyder die nuwereël-skeier; die agtervoegsel-uitbreiding verwyder een nasleep-CR indien teenwoordig. Die voorwaarde verwerk ook 'n laaste nie-leë reël sonder 'n nuwereël.
IFS= verhoed veldsplitsing tydens read, en -r behou letterlike terugskuinsstrepe. Dubbele aanhalingstekens gee dan die resulterende URL as een curl-argument deur. Vermy iterering oor die uitvoer van opdragvervanging: skulpwoordsplyting kan die lêer se rekordgrense verander voordat curl dit sien.
Dit normaliseer reëleindes. Dit herstel nie 'n verkeerde luisteraarprotokol, ontbrekende eindpunt of onbereikbare diens nie.