PHP cURL запрос к ресурсу через proxy
Нужно сделать запрос через прокси. Но не получается установить соединение(curl_exec($ch) возвращает false).
Использовал несколько вариантов кода, вот пример последних 2:
$url = "https://vk-book.ru/my-ip.php";
function get_url($url) {
$proxy_ip = '95.141.193.14:80'; //IP адрес сервера прокси и порт
//$loginpassw = ''; //логин и пароль для прокси
$ch = curl_init();
if($ch === false)
{
die('Failed to create curl object');
}
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
//Указываем к какому прокси подключаемся и передаем логин-пароль
curl_setopt($ch, CURLOPT_PROXY, $proxy_ip );
//curl_setopt($ch, CURLOPT_PROXYUSERPWD, $loginpassw);
//доступные значения для типа используемого прокси-сервера: CURLPROXY_HTTP (по умолчанию), CURLPROXY_SOCKS4, CURLPROXY_SOCKS5, CURLPROXY_SOCKS4A или CURLPROXY_SOCKS5_HOSTNAME.
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
var_dump(get_url($url));
echo get_url($url);
и
if( $ch = curl_init ())
{
curl_setopt ($ch, CURLOPT_URL, 'https://vk-book.ru/my-ip.php');
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_PROXY, "95.141.193.14:80");
curl_setopt ($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt ($ch, CURLOPT_FAILONERROR, true);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
$result = curl_exec($ch);
//print curl_errno ($ch);
//print $result;
echo $result;
var_dump($result);
curl_close ($ch);
}
Пробовал разные прокси, не помогло.