diff --git a/examples/multi_curl_get_with_new_random_proxy.php b/examples/multi_curl_get_with_new_random_proxy.php new file mode 100644 index 0000000..1997934 --- /dev/null +++ b/examples/multi_curl_get_with_new_random_proxy.php @@ -0,0 +1,41 @@ +setProxyType(CURLPROXY_SOCKS5); +$multi_curl->setProxies($proxies); + +$multi_curl->setRetry(function ($instance) use ($proxies, $max_retries) { + if ($instance->retries < $max_retries) { + $new_random_proxy = ArrayUtil::arrayRandom($proxies); + $instance->setProxy($new_random_proxy); + return true; + } else { + return false; + } +}); + +$multi_curl->addGet('https://httpbin.org/ip'); +$multi_curl->addGet('https://httpbin.org/ip'); +$multi_curl->addGet('https://httpbin.org/ip'); + +$multi_curl->complete(function ($instance) { + echo + 'curl id ' . $instance->id . ':' . "\n" . + '- ip: ' . $instance->response->origin . "\n" . + '- proxy: ' . $instance->getOpt(CURLOPT_PROXY) . "\n" . + '- url: ' . $instance->effectiveUrl . '' . "\n" . + ''; +}); + +$multi_curl->start();