Liste di proxy con Bash curl: rimuovere il CR finale dalle righe CRLF
Leggi gli URL dei proxy riga per riga in Bash e rimuovi un CR finale dai file CRLF prima di passare il valore a curl.
Una riga copiata da un file CRLF può sembrare proxy.example:8080 mentre la variabile in realtà termina con un ritorno carrello. Racchiudere la variabile tra virgolette conserva quel carattere; non lo rimuove.
Per un file Bash che contiene un URL di proxy completo per riga:
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
Usa voci come http://proxy.example:8080; la lista di proxy HTTP fornisce indirizzi pubblici candidati da formattare in questo modo. read rimuove il delimitatore di fine riga; l'espansione del suffisso rimuove un CR finale se presente. La condizione elabora anche un'ultima riga non vuota senza fine riga.
IFS= impedisce la suddivisione in campi durante read, e -r preserva le barre rovesciate letterali. Le virgolette doppie passano poi l'URL risultante come un unico argomento di curl. Evita di iterare sull'output della sostituzione di comandi: la suddivisione in parole della shell può alterare i confini dei record del file prima che curl li veda.
Questo normalizza i fine riga. Non corregge un protocollo di ascolto errato, un endpoint mancante o un servizio irraggiungibile.