Vrstica, kopirana iz datoteke CRLF, je lahko videti kot proxy.example:8080, čeprav se spremenljivka v resnici konča z znakom za vrnitev vozička. Če spremenljivko date v narekovaje, ta znak ostane; ne odstrani ga.

Za datoteko Bash z enim celotnim URL proxyja na vrstico:

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

Uporabite vnose, kot je http://proxy.example:8080; seznam proxyjev HTTP ponuja javne naslove-kandidate za tako oblikovanje. read odstrani ločilo nove vrstice; razširitev pripone odstrani en končni CR, če obstaja. Pogoj obdela tudi zadnjo neprazno vrstico brez nove vrstice.

IFS= prepreči delitev polj med read, -r pa ohrani dobesedne poševnice nazaj. Nato dvojni narekovaji posredujejo dobljeni URL kot en argument curl. Izogibajte se ponavljanju po izhodu zamenjave ukazov: delitev besed v lupini lahko spremeni meje zapisov datoteke, preden jih curl vidi.

To normalizira konce vrstic. Ne odpravi napačnega protokola poslušanja, manjkajoče končne točke ali nedosegljive storitve.

Sorodni članki