Listes de proxy avec Bash curl : supprimer le CR final des lignes CRLF
Lisez les URL de proxy ligne par ligne en Bash et supprimez un CR final des fichiers CRLF avant de transmettre la valeur à curl.
Une ligne copiée depuis un fichier CRLF peut ressembler à proxy.example:8080 alors que la variable se termine en réalité par un retour chariot. Mettre la variable entre guillemets conserve ce caractère ; cela ne le supprime pas.
Pour un fichier Bash contenant une URL de proxy complète par ligne :
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
Utilisez des entrées comme http://proxy.example:8080 ; la liste de proxy HTTP fournit des adresses publiques candidates à formater ainsi. read supprime le délimiteur de fin de ligne ; l'expansion de suffixe supprime un CR final s'il est présent. La condition traite aussi une dernière ligne non vide sans saut de ligne.
IFS= empêche la découpe en champs pendant read, et -r préserve les barres obliques inverses littérales. Les guillemets doubles transmettent ensuite l'URL obtenue comme un seul argument de curl. Évitez d'itérer sur la sortie d'une substitution de commande : la découpe en mots du shell peut modifier les limites d'enregistrement du fichier avant que curl ne les voie.
Cela normalise les fins de ligne. Cela ne corrige pas un protocole d'écoute erroné, un point de terminaison manquant ou un service injoignable.