我正在尝试使用带有MultiCurl的php-curl-class检查代理。问题是,我无法在MultiCurl中为每个实例分别设置单独的代理。
目标是使用之前(在数组中)解析的每个代理向$ check_url发送请求。如果我得到肯定的答案,则将其写入文件。
但是,在使用Curl设置MultiCurl时可以设置单个代理,这很麻烦。
请问我哪里出了错?
我的代码如下:
/* Multicurl */
$multi_curl = new MultiCurl();
/* Проверка прокси */
$check_url = 'http://httpbin.org/get';
foreach($proxy_result as $key => $val)
{
$multi_curl->beforeSend(function ($instance) use ($proxy_result) {
foreach ($proxy_result as $key => $val) {
$instance->setProxy($val);
$instance->setProxyType(CURLPROXY_SOCKS5);
$instance->setProxyTunnel();
$instance->setConnectTimeout(5);
$instance->setTimeout(10);
$instance->setOpt(CURLOPT_FOLLOWLOCATION, true);
$instance->setOpt(CURLOPT_SSL_VERIFYHOST, false);
$instance->setOpt(CURLOPT_SSL_VERIFYPEER, false);}});
$multi_curl->addGet($check_url);
}
$multi_curl->success(function($instance) {
$ip = ($instance->response->origin);
echo $ip;
});
$multi_curl->start();