Добрый день, использую такой код с cURL на хостинге:
$link = getPage('https://5ka.ru/api/v2/special_offers/?records_per_page=20&page=1');
echo "<pre>";
print_r($link['content']);
function getPage($url) {
$useragent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)";
$arrSetHeaders = array(
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
"Accept-Encoding: gzip, deflate, br",
"Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7",
"Cache-Control: max-age=0",
"Connection: keep-alive",
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_REFERER, 'https://5ka.ru/');
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_ENCODING, "");
curl_setopt($ch, CURLOPT_TIMEOUT, 120);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $arrSetHeaders);
$content = curl_exec($ch);
$err = curl_errno($ch);
$errmsg = curl_error($ch);
$header = curl_getinfo($ch);
curl_close($ch);
$header['errno'] = $err;
$header['errmsg'] = $errmsg;
$header['content'] = $content;
return $header;
}
В итоге получаю ответ:
The requested URL was rejected. Please consult with your administrator.
Your support ID is: 12671605384303416928
[Go Back]
Но если воспользоваться точно таким же кодом на другом сервере VPS (хостинге) - то он отрабатывает нормально.
Не пойму что не так настроено и что просить поправить хостера, чтобы заработало. Спасибо за помощь.