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;
Список рабочих прокси серверов можно получить здесь, проверить на работоспособность список произвольных прокси серверов можно здесь.
Теги: php
Интересное

Git – это распределенная система контроля версий. Пожалуй, на этом теория заканчивается, так как...

Если пользоваться привычной терминологией, то web вирусы не являются вирусами в традиционном...

При покупке хостинга у FirstVDS мне предложили скидку за годный отзыв в блоге или на форуме....

Компания Google представила суперсовременные «очки дополненной реальности» или Project Glass. Впрочем,...
Комментарии
Чтобы оставлять комментарии, авторизируйтесь
А не подскажете как сюда прикрутить файл с проксями, (proxy.txt) вместо одного???
Можно использовать цикл и перебирать все прокси подряд:
$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;
}
А можно и рандомно извлекать прокси. Все зависит от целей скрипта.
Можно целую прогу написать, расбрасывать по серверам и собирать МЁД.
Недавно нашёл бесплатный хостинг с кроном и курлом, могу заделиться, пишите в мэйл.
Жалко, что в функции нету авторизации для самих проксей
curl_setopt ($ch, CURLOPT_PROXYUSERPWD,'user: pass');
Большое спасибо за скрипт! А никто не знает где брать файлик со списком проксей?
Статья была полезна!!! Спасибо