PHP. Curl. Прокси

Если вам необходимо спарсить какую-то информацию, например, список товаров, а сайт-донор всячески препятствует вам сделать это, на помощь приходят прокси сервера. Прокси сервер позволяет делать запросы к сайту, но под своим именем. То есть, если у вас есть список рабочих прокси-серверов, вы сможете сымитировать реальный траффик и вас не забанят. Ниже приведен код для работы curl через прокси сервер:

function get($url, $proxy)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
curl_setopt($ch, CURLOPT_PROXY, "$proxy");
$ss=curl_exec($ch);
curl_close($ch);
return $ss;
}

$prox = '62.159.143.172:80';
$content = get('http://totoiono.enkidu.ru/', $prox);
echo $content;

Список рабочих прокси серверов можно получить здесь, проверить на работоспособность список произвольных прокси серверов можно здесь.

Интересное

Отзыв о FirstVDS
При покупке хостинга у FirstVDS мне предложили скидку за годный отзыв в блоге или на форуме....
Project Glass — Очки будущего от Google
Компания Google представила суперсовременные «очки дополненной реальности» или Project Glass. Впрочем,...
Проверка сайта на вирусы
Если пользоваться привычной терминологией, то web вирусы не являются вирусами в традиционном...
Git и Bitbucket
Git – это распределенная система контроля версий. Пожалуй, на этом теория заканчивается, так как...

Комментарии

  • script1
    10.06.2010 в 18:22

    А не подскажете как сюда прикрутить файл с проксями, (proxy.txt) вместо одного???

    ответить
  • Александр
    18.06.2010 в 06:22

    Можно использовать цикл и перебирать все прокси подряд:

    $proxy = array ();
    $file = 'proxy.txt';
    if (is_file ($file))
    {
    $handle = fopen ($file, «r»);
    while (($data = fgetcsv ($handle, 1000, ","))!== FALSE)
    {
    $proxy[] = $data[0];
    }
    }

    foreach ($proxy as $prox)
    { $content = get ('http://totoiono.enkidu.ru/', $prox);
    echo $content;
    }

    А можно и рандомно извлекать прокси. Все зависит от целей скрипта.

    ответить
  • Константин
    01.07.2010 в 15:00
    Ну и как, уже пробовали свой скрипт?
    Можно целую прогу написать, расбрасывать по серверам и собирать МЁД.
    Недавно нашёл бесплатный хостинг с кроном и курлом, могу заделиться, пишите в мэйл.
    ответить
  • Михаил
    13.08.2011 в 02:22
    Большое спасибо!
    Жалко, что в функции нету авторизации для самих проксей
    ответить
    • Дмитрий Макаров
      07.02.2013 в 23:36
      Как это нет?
      curl_setopt ($ch, CURLOPT_PROXYUSERPWD,'user: pass');
      ответить
  • Polomans
    05.12.2011 в 09:56

    Большое спасибо за скрипт! А никто не знает где брать файлик со списком проксей?

    ответить
  • e2epro.com
    22.01.2012 в 16:44

    Статья была полезна!!! Спасибо

    ответить

Чтобы оставлять комментарии, авторизируйтесь

Войти через OpenID

рейтинг0+-
Популярные
Точки входа
Широкий выбор серверов для различных целей. Стабильные быстрые прокси по выгодной цене только тут.
Наверх