Një rresht i kopjuar nga një skedar CRLF mund të duket si proxy.example:8080 ndërsa variabla në të vërtetë përfundon me një karakter kthimi karroce. Vendosja e variablës në thonjëza e ruan atë karakter; nuk e heq.

Për një skedar Bash që përmban një URL të plotë të përfaqësuesit për çdo rresht:

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

Përdorni zëra si http://proxy.example:8080; lista e përfaqësuesve HTTP ofron adresa publike kandidate për t'u formatuar kështu. read heq ndarësin e rreshtit të ri; zgjerimi i prapashtesës heq një CR të fundit nëse ekziston. Kushti trajton gjithashtu rreshtin e fundit jo bosh pa rresht të ri.

IFS= parandalon ndarjen e fushave gjatë read, dhe -r ruan vijat e pjerrëta të kundërta fjalë për fjalë. Pastaj thonjëzat e dyfishta e kalojnë URL-në që rezulton si një argument të vetëm curl. Shmangni përsëritjen mbi daljen e zëvendësimit të komandave: ndarja e fjalëve nga shell-i mund të ndryshojë kufijtë e regjistrimeve të skedarit përpara se curl t'i shohë ato.

Kjo normalizon mbarimet e rreshtave. Nuk rregullon një protokoll të gabuar dëgjimi, një pikë fundore që mungon ose një shërbim të paarritshëm.

Artikuj të ngjashëm