Как получить данные с сайта, на котором защита от DDos?

Хотел получить данные с одного сайта (https://arizona-rp.com/).
Простые запросы не работаю:
<?php

$string = file_get_contents('https://arizona-rp.com/map/2');
echo "string";

?>

Или curl
<?php 

$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_URL,'https://arizona-rp.com/map/2');
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36');
$query = curl_exec($curl_handle);
curl_close($curl_handle);
print_r($query);
 ?>


Помогите обойти данную защиту...
  • Вопрос задан
  • 270 просмотров
Решения вопроса 1
DevMan
@DevMan Куратор тега PHP
там ставится кука javascript'ом, потом делается редирект и проверяется эта кука.
поэтому проще использовать безголовые браузеры, хотя и можно попробовать обойти.

upd: получилось так
$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_URL,'https://arizona-rp.com/map/2');
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_COOKIEJAR, '/tmp/cookies.txt');
curl_setopt($curl_handle, CURLOPT_COOKIEFILE, '/tmp/cookies.txt');
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36');
$query = curl_exec($curl_handle);
print_r($query);

preg_match('/document.cookie="(.*?);/', $query, $m);
var_dump($m);


curl_setopt($curl_handle, CURLOPT_COOKIE, trim($m[1]));
sleep(5);
$query = curl_exec($curl_handle);
echo $query;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы