Вот мой код:
<?php
$url = 'https://www.vseinstrumenti.ru/instruction/1486389_manual.docx';
ini_set('user_agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36');
$contextOptions = [
"ssl" => [
"verify_peer" => false,
"verify_peer_name" => false,
'allow_self_signed' => true
],
];
$downloadedFile = file_get_contents($url, false, stream_context_create($contextOptions));
if ($downloadedFile === false) {
$text = 'Ошибка при скачивании файла по ссылке: ' . $url;
$headers = get_headers($url, 1);
if (!empty($headers[0])) {
$code = str_replace('HTTP / 1.1 ', '', $headers[0]);
$text .= ', вот код ответа: ' . $code;
}
echo $text;
} else {
echo 'Все отлично';
}
Мне выводится сообщение:
Ошибка при скачивании файла по ссылке: https://www.vseinstrumenti.ru/instruction/1486389_..., вот код ответа: HTTP/1.1 403 Forbidden
Если я захожу на страницу через браузер, то никаких ошибок нет, документ docx отдается. То есть это не блокировка по IP.
Я пробовал менять useragent в коде - не помогло. То есть это не блокировка по Useragent.
Как мне исправить мой код, чтобы он работал?