Bash curl proksi siyahıları: CRLF sətirlərindən sonuncu CR-ni silin
Bash-də proksi URL-lərini sətir-sətir oxuyun və dəyəri curl-ə ötürməzdən əvvəl CRLF fayllarından bir sonuncu CR silin.
CRLF faylından kopyalanmış sətir proxy.example:8080 kimi görünə bilər, halbuki dəyişən əslində karrij-retur simvolu ilə bitir. Dəyişəni dırnaq içində saxlamaq həmin simvolu qoruyur; onu silmir.
Hər sətirdə bir tam proksi URL olan Bash faylı üçün:
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 kimi qeydlərdən istifadə edin; HTTP proksi siyahısı bu şəkildə formatlamaq üçün ictimai ünvan namizədləri verir. read yeni sətir ayırıcısını silir; şəkilçi genişlənməsi varsa bir sonuncu CR-ni silir. Şərt həmçinin yeni sətri olmayan sonuncu boş olmayan sətri də emal edir.
IFS= read zamanı sahə bölünməsinin qarşısını alır, -r isə hərfi tərs kəsikləri qoruyur. Sonra ikiqat dırnaqlar yaranan URL-i tək curl arqumenti kimi ötürür. Əmr əvəzləməsinin çıxışı üzərində iterasiyadan çəkinin: shell söz bölünməsi curl onları görməzdən əvvəl faylın qeyd sərhədlərini dəyişə bilər.
Bu, sətir sonlarını normallaşdırır. Səhv dinləmə protokolunu, çatışmayan son nöqtəni və ya əlçatmaz xidməti düzəltmir.