සෑම xargs කාර්යයක් තුළම ප්රොක්සිය තෝරන්න
ළදරු shell තුළ අහඹු තේරීම ධාවනය කරන්න, එවිට සමාන්තර curl කාර්යයක් සෑම විටම ලැයිස්තුවෙන් ප්රොක්සියක් ලබා ගනී.
සෑම කාර්යයක් සඳහාම ආරම්භ වන shell තුළ අහඹු තේරීම තබන්න. පිටත shell තුළ command substitution දිගහැරීමෙන් xargs තම කාර්යය ආරම්භ කිරීමට පෙරම අගය තෝරා ගැනේ.
සෑම පේළියකම එක් ප්රොක්සි URL එකක් ඇති වලංගු කළ proxies.txt සමඟ, පොදු අපේක්ෂකයින්ට නොමිලේ ප්රොක්සි ලැයිස්තුවෙන් ලබා ගත හැක; සෑම ඇතුළත් කිරීමක්ම curl සහාය දෙන ප්රොටෝකෝලයකින් සකසන්න:
printf '%s\0' 'https://a.example/one' 'https://b.example/two' |
xargs -0 -n 1 -P 4 sh -c '
proxy=$(shuf -n 1 proxies.txt) || exit 1
[ -n "$proxy" ] || exit 1
curl --fail --silent --show-error --max-time 30 \
--proxy "$proxy" --noproxy "" --output /dev/null "$1"
' _
-n 1 සෑම විධානයකටම එක් URL එකක් ලබා දෙන අතර, -P 4 එකවර විධාන හතරක් දක්වා අවසර දෙයි. ශුන්යයෙන් වෙන් කළ ආදානය URL එක එක් තර්කයක් ලෙස තබා ගනී. යටි ඉරි sh හි $0 ස්ථානය ගන්නා අතර URL එක $1 තුළ ඉතිරි වේ.
සෑම ළදරු shell එකක්ම shuf ස්වාධීනව ධාවනය කරයි. අහඹු තේරීම එකම ප්රොක්සිය එකකට වඩා වරක් තෝරා ගත හැක; එය රවුම් ලෙස නියම කිරීමක් නොවේ, වෙනස් පිටවන ලිපින සඳහා සහතිකයක් ද නොවේ.
පැහැදිලිවම හිස් මඟහැරීමේ ලැයිස්තුව උරුම වූ no_proxy සැකසුමක් තෝරාගත් මැදිහත්කරු මඟහැරීම වළක්වයි. උදාහරණය ප්රතිචාර කඳන් ඉවත ලයි; එකවර බාගැනීම් සුරකින විට වෙනම ප්රතිදාන මාර්ග භාවිත කරන්න.