Пример использования curl для работы через proxy сервер

Достаточно часто при написании пауков стоит задача получения контента сайта не напрямую, а через прокси сервера. Поэтому приведу здесь пример простой функции на php для получения html кода страницы используя библиотеку curl.
В первую очередь надо убедиться curl установлен и что в php.ini раскомментирована строка, подключающая библиотеку curl. Далее функция:

function get_data($url)
{
  $ch = curl_init();
  $timeout = 5;
  curl_setopt($ch,CURLOPT_URL,$url);
  curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  //proxy
  curl_setopt($ch, CURLOPT_PROXY, 'ii.nnn.ru:3128');
  curl_setopt($ch, CURLOPT_PROXYUSERPWD, '111:111');
  curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
  $data = curl_exec($ch);
  if($data === false)
  {
	echo 'Curl error: ' . curl_error($ch);
  }
  curl_close($ch);
  return $data;
}

Примерно такой функцией приходится пользоваться разработчикам, у которых выход в интернет доступен только через proxy. Можно попробовать использовать функцию stream_get_contents, но все же curl предлагает более мощный инструмент.