Использование PROXY в PHP программировании, - для каких задач? + примеры


Рассмотрим задачи в программировании, при которых можно (точнее нужно) использовать прокси сервер.
Первое, что приходит в голову это конечно же кравлеры, и всякого рода парсеры.
Все современные веб сервисы направлены на взаимодействие с другими сайтами. Откройте логи своего сайта, или посмотрите Яндекс Метрику, вы удивитесь как увеличился тренд обхода поисковиками вашего сайта.
 
proxy
 
В современном вебе, сайты посещают в большей мере машины. В связи с этим, владельцы сайтов пытаются ограничить свои ресурсы от "не желаемых гостей". 
Например, ваш IP, точнее вашего кравлера, может быть забанен или заблокирован вообще.
На такие риски лучше не идти. Лучше использовать прокси сервера, которые могут быть заменены в таковых случаях.
 
Это один из примеров...
 

Рассмотрим задачи, для чего нужен прокси современному программисту?

 
  • Ускорение загрузки веб-сайтов;
  • тестирования онлайн сервисов;
  • для обхода ограничения доступа к ресурсу;
  • анонимайзеры, для сокрытия своего IP;
  • для получения доступа к сайту, который ограничен в вашей стране;
 
При создании сервисов на PHP, используют набор функций библиотеки cURL.
 
Вот, пример, как можно получить страницу любого сайта с использованием анонимного прокси.
 
Внимание! В примере указан не рабочий прокси. Если вы будете тестировать свою программу, лучше арендуйте проверенный и рабочий прокси сервер.
 
Просто замените IP адрес, порт, логин и пароль прокси сервера, на ваши личные.
 
$parameters = "login:password@123.45.67.890:11111";
$curlInit = curl_init();
curl_setopt($curlInit, CURLOPT_URL,'http://sitear.ru');
curl_setopt($curlInit, CURLOPT_PROXY, $parameters);
curl_setopt($curlInit, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curlInit, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($curlInit, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curlInit, CURLOPT_HEADER, 1);
$curl_scraped_page = curl_exec($curlInit);
curl_close($curlInit);
 

Пример тестирования доступа к веб странице с различных серверов

 
Допустим, у вас есть сайт, сервис, который нужно проверить на доступность и работоспособность с различных узлов (точек мира).
 
Для этого можно написать не сложный код, который сделает это и соберет данные в логи, для анализа.
 
Пример кода:
 
$arrayOfProxies = [
    ['ip' => '111.222.33.44', 'port' => '4321'],
    ['ip' => '444.3333.222.11', 'port' => '7890'],
];

$requestParameters = [
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_CONNECTTIMEOUT => 3,
    CURLOPT_TIMEOUT        => 7,

];

$connection = curl_init('http://sitear.ru');
curl_setopt_array($connection, $requestParameters);

foreach ($arrayOfProxies as $proxy) {
    curl_setopt($connection, CURLOPT_PROXY, $proxt['ip']);
    curl_setopt($connection, CURLOPT_PROXYPORT, $proxt['port']);
    $response = curl_exec($connection);
}

curl_close($connection);
 
Что тут происходит?
 
  1. Создаем массив с различными  прокси адресами и портами.
  2. Задаем массив параметров для подключения.
  3. Инициализируем соединение и передаем параметры из нашего массива.
  4. С помощью цикла foreach применяем различные прокси для получения ответа от нашего сайта/сервиса.
 
Каковы еще задачи (сфера применения)?
 

С развитием киберспорта увеличился спрос на сетевые услуги 

 
Так, например, сейчас набирают популярность прокси сервера для онлайн игр. Таковы обладают минимальным пингом и должны работать без перебоев.
Еще быстрее ведут себя серверы с отдельным (выделеным) IP.
Представители подобных услуг, стараются размещать свои мощности ближе к дата центрам транснациональных провайдеров, что обеспечивает уменьшение задержек для любителей игр. 
Это еще одна задача проксимального сервера, возможно вам придется работать в этой сфере.
  Вы легко можете купить прокси для игр, и протестировать его работу на вашем сервисе. 
 
Мы не знаем примеров из практики и для каких задач PHP программисты используют игровые прокси. 
 
Однако, если вы разбираете в этой сфере, мы с радостью выслушаем вас. 
 
Пишите в комментарии внизу!

 



Дальше: Как быстро создать свой сайт с нуля? - все дело в движке сайта


Дискуссия по теме     0 Комментариев
Добавить комментарий
Просмотров: 213