Rastgele seçimi her iş için başlatılan kabuğun içine koyun. Dış kabukta bir komut yerine koymayı genişletirseniz, değer xargs işine başlamadan önce seçilir.

Her satırda bir proxy URL'si bulunan doğrulanmış bir proxies.txt ile genel adaylar ücretsiz proxy listesinden gelebilir; her kaydı curl'un desteklediği bir protokolle biçimlendirin:

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 her komuta bir URL verir, -P 4 ise aynı anda en fazla dört komuta izin verir. Sıfırla ayrılmış girdi, URL'yi tek bir argüman olarak korur. Alt çizgi sh'nin $0 konumunu alır ve URL $1 içinde kalır.

Her alt kabuk shuf'u bağımsız olarak çalıştırır. Rastgele seçim aynı proxy'yi birden fazla kez seçebilir; bu bir sıralı planlama değildir ve farklı çıkış adresleri garantisi vermez.

Açıkça boş atlama listesi, devralınan no_proxy ayarının seçilen aracıyı atlamasını önler. Örnek yanıt gövdelerini atar; eşzamanlı indirmeleri kaydederken ayrı çıktı yolları kullanın.

İlgili makaleler