No CRLF faila nokopēta rinda var izskatīties kā proxy.example:8080, lai gan mainīgais patiesībā beidzas ar karietes atgriešanas rakstzīmi. Mainīgā iekļaušana pēdiņās saglabā šo rakstzīmi; tā to nenoņem.

Bash failam, kurā katrā rindā ir viens pilns starpniekservera URL:

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

Izmantojiet ierakstus, piemēram, http://proxy.example:8080; HTTP starpniekserveru saraksts piedāvā publiskas adreses, ko var formatēt šādi. read noņem jaunās rindas atdalītāju; sufiksa paplašinājums noņem vienu beigu CR, ja tāds ir. Nosacījums apstrādā arī pēdējo ne tukšo rindu bez jaunas rindas.

IFS= novērš lauku sadalīšanu read laikā, un -r saglabā burtiskās slīpsvītras. Pēc tam dubultās pēdiņas nodod iegūto URL kā vienu curl argumentu. Izvairieties atkārtot komandu aizstāšanas izvadi: čaulas vārdu sadalīšana var mainīt faila ierakstu robežas pirms curl tās ierauga.

Tas normalizē rindu galus. Tas neizlabo nepareizu klausīšanās protokolu, trūkstošu galapunktu vai nesasniedzamu pakalpojumu.

Saistītie raksti