Mga listahan ng proxy sa Bash curl: alisin ang huling CR mula sa mga linyang CRLF
Basahin ang mga URL ng proxy nang linya-linya sa Bash at alisin ang isang huling CR mula sa mga file na CRLF bago ipasa ang halaga sa curl.
Ang linyang kinopya mula sa isang file na CRLF ay maaaring magmukhang proxy.example:8080 habang ang variable ay talagang nagtatapos sa isang carriage return. Ang paglalagay ng variable sa mga panipi ay nagpapanatili ng karakter na iyon; hindi ito nag-aalis nito.
Para sa isang file na Bash na may isang kumpletong URL ng proxy bawat linya:
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
Gumamit ng mga entry tulad ng http://proxy.example:8080; ang listahan ng proxy na HTTP ay nagbibigay ng mga pampublikong address na kandidato upang i-format nang ganoon. Inaalis ng read ang delimiter ng bagong linya; inaalis ng pagpapalawak ng suffix ang isang huling CR kung mayroon. Pinoproseso rin ng kundisyon ang huling linyang hindi blangko na walang bagong linya.
Pinipigilan ng IFS= ang paghahati ng field habang nagbabasa ang read, at pinapanatili ng -r ang mga literal na backslash. Pagkatapos, ipinapasa ng dobleng panipi ang resultang URL bilang isang argumento ng curl. Iwasan ang pag-ulit sa output ng pagpapalit ng command: ang paghahati ng salita ng shell ay maaaring magbago ng mga hangganan ng record ng file bago pa ito makita ng curl.
Ito ay nag-normalize ng mga dulo ng linya. Hindi nito inaayos ang maling protocol ng pakikinig, nawawalang endpoint, o serbisyong hindi maabot.