ជ្រើសរើសប្រូកស៊ីនៅក្នុងការងារ xargs នីមួយៗ
ដំណើរការការជ្រើសរើសចៃដន្យនៅក្នុងសែលកូន ដើម្បីឱ្យការងារ curl ស្របគ្នានីមួយៗទទួលបានប្រូកស៊ីពីបញ្ជី។
ដាក់ការជ្រើសរើសចៃដន្យនៅក្នុងសែលដែលចាប់ផ្តើមសម្រាប់ការងារនីមួយៗ។ ការពង្រីកការជំនួសពាក្យបញ្ជានៅក្នុងសែលខាងក្រៅជ្រើសរើសតម្លៃមុនពេល 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 ដែលទទួលមរតកមិនឱ្យរំលងអ្នកកណ្តាលដែលបានជ្រើស។ ឧទាហរណ៍បោះបង់តួឆ្លើយតប; ប្រើផ្លូវលទ្ធផលដាច់ដោយឡែក នៅពេលរក្សាទុកការទាញយកស្របគ្នា។