Заметил, что скрипт проверки статуса ответа сервера возвращает ответ, отличный от фактического у сайта.
$url = 'https://aliexpress.ru/item/32826655041.html';
echo check_http_status($url);
function check_http_status($url){
$user_agent = 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$page = curl_exec($ch);
$err = curl_error($ch);
if (!empty($err)){
return $err;
}
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return $httpcode;
}
Проверка скриптом адреса
https://aliexpress.ru/item/32826655041.html возвращает
302. А в браузере, по этому же адресу 404
Скрипт и браузер работают на одном пк (скрипт запущен на
OpenServer, на хостинге скрипт так же выдает неверный статус)
Также вопрос по теме:
Каким методом лучше определять
http статус ответа?