Bash curl ప్రాక్సీ జాబితాలు: CRLF పంక్తుల నుండి చివరి CR తొలగించండి
Bash లో ప్రాక్సీ URL లను పంక్తి పంక్తిగా చదవండి మరియు విలువను curl కు ఇచ్చే ముందు CRLF ఫైళ్ల నుండి ఒక చివరి CR తొలగించండి.
CRLF ఫైల్ నుండి కాపీ చేసిన పంక్తి proxy.example:8080 లాగా కనిపించవచ్చు, కానీ వేరియబుల్ వాస్తవానికి carriage return తో ముగుస్తుంది. వేరియబుల్ను కోట్స్ లో పెట్టడం ఆ అక్షరాన్ని భద్రపరుస్తుంది; దాన్ని తొలగించదు.
ప్రతి పంక్తిలో ఒక పూర్తి ప్రాక్సీ URL ఉన్న Bash ఫైల్ కోసం:
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 వంటి ఎంట్రీలను ఉపయోగించండి; HTTP ప్రాక్సీ జాబితా అలా ఫార్మాట్ చేయగల పబ్లిక్ చిరునామా అభ్యర్థులను అందిస్తుంది. read కొత్త పంక్తి విభజనను తొలగిస్తుంది; సఫిక్స్ విస్తరణ ఉంటే ఒక చివరి CR తొలగిస్తుంది. కొత్త పంక్తి లేని చివరి ఖాళీ కాని పంక్తిని కూడా ఈ షరతు ప్రాసెస్ చేస్తుంది.
IFS= read సమయంలో ఫీల్డ్ విభజనను నిరోధిస్తుంది, -r అక్షరార్థ బ్యాక్స్లాష్లను భద్రపరుస్తుంది. తర్వాత డబుల్ కోట్స్ ఫలిత URL ను ఒక curl ఆర్గ్యుమెంట్గా పంపుతాయి. కమాండ్ ప్రత్యామ్నాయం యొక్క అవుట్పుట్పై పునరావృతం చేయడం మానుకోండి: షెల్ పద విభజన curl చూసే ముందు ఫైల్ రికార్డ్ హద్దులను మార్చవచ్చు.
ఇది పంక్తి ముగింపులను సాధారణీకరిస్తుంది. ఇది తప్పు వినడం ప్రోటోకాల్, లేని ఎండ్పాయింట్ లేదా చేరుకోలేని సేవను సరిచేయదు.