PHP Curl получить код страницы - пример

Итак, рассмотрим пример использования Curl в PHP

Вот товарищ приводит нам такой пример функции для получения текста страницы:

function get_web_page( $url )
{
  $uagent = "Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.14";
 
  $ch = curl_init( $url );
 
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);   // возвращает веб-страницу
  curl_setopt($ch, CURLOPT_HEADER, 0);           // не возвращает заголовки
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);   // переходит по редиректам
  curl_setopt($ch, CURLOPT_ENCODING, "");        // обрабатывает все кодировки
  curl_setopt($ch, CURLOPT_USERAGENT, $uagent);  // useragent
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120); // таймаут соединения
  curl_setopt($ch, CURLOPT_TIMEOUT, 120);        // таймаут ответа
  curl_setopt($ch, CURLOPT_MAXREDIRS, 10);       // останавливаться после 10-ого редиректа (не много ли!?)
 
  $content = curl_exec( $ch );
  $err     = curl_errno( $ch );
  $errmsg  = curl_error( $ch );
  $header  = curl_getinfo( $ch );
  curl_close( $ch );
 
  $header['errno']   = $err;
  $header['errmsg']  = $errmsg;
  $header['content'] = $content;
  return $header;
}

а использовать её можно как-то так:

$url = 'google.com';
$data = get_web_page($url); // загружаем результат с помощью нашей функции
echo $data['content']; //выводит код на экран

Если что-то не получается (страница не выводится) - то опять же - можно воспользоваться уже имеющимся функционалом и дописать
к последнему куску кода ещё две строки:

echo ($data['errno'] . '<br>'); // код "ошибки"
echo ($data['errmsg'] . '<br>'); // расшифровка кода

Тогда мы увидим ошибку и её номер - например "хост не отвечает".

Возможно, вам захочется изменить кодировку текста - делается это так