xargs ажил бүрийн дотор проксийг сонгоно уу
Салбар shell дотор санамсаргүй сонголтыг ажиллуулснаар зэрэгцээ curl ажил бүр жагсаалтаас прокси авна.
Санамсаргүй сонголтыг ажил бүрд эхлүүлэх shell дотор байрлуул. Гадаад shell дотор командын орлуулгыг өргөтгөхөд 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 тохиргоог сонгосон зуучлагчийг тойрч гарахаас сэргийлнэ. Жишээ нь хариуны их биеийг хаядаг; зэрэгцээ татан авалтыг хадгалахдаа тусдаа гаралтын зам ашиглана уу.