Roghnaigh an seachfhreastalaí laistigh de gach tasc xargs
Rith an roghnú randamach sa bhlaosc linbh ionas go bhfaighidh gach tasc curl comhthreomhar seachfhreastalaí ón liosta.
Cuir an roghnú randamach taobh istigh den bhlaosc a thosaítear do gach tasc. Nuair a leathnaítear ionadú ordaithe sa bhlaosc sheachtrach roghnaítear an luach sula dtosaíonn xargs ag obair.
Le proxies.txt bailíochtaithe le URL seachfhreastalaí amháin ar gach líne, is féidir le hiarrthóirí poiblí teacht ón liosta seachfhreastalaí saor in aisce; formáidigh gach iontráil le prótacal a thacaíonn curl leis:
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"
' _
Tugann -n 1 URL amháin do gach ordú, agus ceadaíonn -P 4 suas le ceithre ordú ag an am céanna. Coinníonn an t-ionchur scartha le nialais an URL mar aon argóint amháin. Tógann an t-íoslíne suíomh $0 de sh, ag fágáil an URL in $1.
Ritheann gach blaosc linbh shuf go neamhspleách. Féadfaidh an roghnú randamach an seachfhreastalaí céanna a roghnú níos mó ná uair amháin; ní sceidealú ciorclach é ná ráthaíocht ar sheoltaí amach éagsúla.
Cuireann an liosta seachanta folamh sainráite cosc ar shocrú no_proxy a fuarthas le hoidhreacht an t-idirghabhálaí roghnaithe a sheachaint. Caitheann an sampla comhlachtaí freagartha amach; úsáid cosáin aschuir ar leith nuair a shábháiltear íoslódálacha comhthráthacha.