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 ਦੇ ਵੇਖਣ ਤੋਂ ਪਹਿਲਾਂ ਫਾਈਲ ਦੇ ਰਿਕਾਰਡ ਦੀਆਂ ਸੀਮਾਵਾਂ ਬਦਲ ਸਕਦੀ ਹੈ।
ਇਹ ਲਾਈਨਾਂ ਦੇ ਅੰਤ ਨੂੰ ਆਮ ਬਣਾਉਂਦਾ ਹੈ। ਇਹ ਗਲਤ ਸੁਣਨ ਵਾਲੇ ਪ੍ਰੋਟੋਕੋਲ, ਗੁੰਮ ਐਂਡਪੌਇੰਟ ਜਾਂ ਅਪਹੁੰਚ ਸੇਵਾ ਨੂੰ ਠੀਕ ਨਹੀਂ ਕਰਦਾ।