Сместите случајни избор унутар љуске која се покреће за сваки посао. Проширивање замене наредбе у спољној љусци бира вредност пре него што xargs почне свој рад.

Уз проверени proxies.txt са једним URL-ом проксија у сваком реду, јавни кандидати могу доћи са листе бесплатних проксија; сваки запис обликујте протоколом који 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 као један аргумент. Доња црта заузима место $0 у sh, остављајући URL у $1.

Свака подљуска покреће shuf независно. Случајни избор може изабрати исти прокси више пута; то није кружно распоређивање ни гаранција различитих излазних адреса.

Изричито празна листа заобилажења спречава да наслеђено подешавање no_proxy заобиђе изабраног посредника. Пример одбацује тела одговора; користите одвојене излазне путање када чувате паралелна преузимања.

Повезани чланци