Bash curl ۋاكالەتچى تىزىملىكى: CRLF قۇرلىرىدىكى ئاخىرقى CR نى چىقىرىۋېتىش
Bash ئىچىدە ۋاكالەتچى URL لىرىنى قۇر-قۇر ئوقۇپ، قىممەتنى curl غا بەرمەستىن بۇرۇن CRLF ھۆججەتلىرىدىن بىر ئاخىرقى CR نى چىقىرىۋېتىڭ.
CRLF ھۆججىتىدىن كۆچۈرۈلگەن قۇر proxy.example:8080 دەك كۆرۈنۈشى مۇمكىن، ئەمما ئۆزگەرگۈچى ئەمەلىيەتتە قايتىش بەلگىسى بىلەن ئاخىرلىشىدۇ. ئۆزگەرگۈچىنى نەقىل بەلگىسىگە ئېلىش بۇ بەلگىنى ساقلايدۇ؛ ئۇنى چىقىرىۋەتمەيدۇ.
ھەر قۇردا بىر تولۇق ۋاكالەتچى 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 ئۇلارنى كۆرمەستىن بۇرۇن ھۆججەتنىڭ خاتىرە چېگرىسىنى ئۆزگەرتىشى مۇمكىن.
بۇ قۇر ئاخىرلىرىنى نورماللاشتۇرىدۇ. ئۇ خاتا ئاڭلاش پروتوكولىنى، يوق ئاخىرقى نۇقتىنى ياكى يەتكىلى بولمايدىغان مۇلازىمەتنى تۈزەتمەيدۇ.