function request_file_get_contents_gzip_proxy($url, $proxy) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
if (isset($proxy['user']) && isset($proxy['pass']) && $proxy['user']!='' && $proxy['pass']!='') {
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxy['user'].":".$proxy['pass']);
}
curl_setopt($ch, CURLOPT_PROXY, $proxy['ip']);
curl_setopt($ch, CURLOPT_PROXYPORT, $proxy['port']);
$result = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return ['result' => $result, 'code'=>$httpcode];
}
Работает:
$proxy = ['ip'=>'localhost', 'port'=>9050];
print_r(request_file_get_contents_gzip_proxy('http://api.ipify.org', $proxy));
Не работает:
$proxy = ['ip'=>'111.111.111.111', 'port'=>1080];
print_r(request_file_get_contents_gzip_proxy('http://api.ipify.org', $proxy));
curl_exec возвращает 0.
Прокси приватная и точно рабочая, пробовал с доступом по логину и паролю, c доступом по ip.
Пробовал публичные, из рабочих работает только с 1 на 100. В чем причина ? Как дебажить ?