Кездейсоқ таңдауды әрбір тапсырма үшін іске қосылатын 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 параметрінің таңдалған делдалды айналып өтуіне жол бермейді. Мысал жауап денелерін тастайды; қатар жүктеулерді сақтағанда бөлек шығу жолдарын қолданыңыз.

Қатысты мақалалар