Задать вопрос
@eugene159

Как с помощью PHP скачивать файлы с подобных ссылок?

Пытаюсь через file_get_contents скачать pdf'ку. Вот ссылка:
https://spbparniki.ru/index.php?route=product/prod...

Вот код:
<?php
$url = 'https://spbparniki.ru/index.php?route=product/product/download&product_id=1578&download_id=44';
ini_set('user_agent', 'Mozilla / 5.0 (Windows NT 10.0; Win64; x64) AppleWebKit / 537.36 (KHTML, like Gecko) Chrome / 105.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));
$res = file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/myfile.pdf', $downloadedFile);

Почему вместо pdf'ки скачивается html с таким кодом?
<html><head><script>function set_cookie(){var now = new Date();var time = now.getTime();time += 19360000 * 1000;now.setTime(time);document.cookie='beget=begetok'+'; expires='+now.toGMTString()+'; path=/';}set_cookie();location.reload();;</script></head><body></body></html>

Как скачать pdf'ку?
  • Вопрос задан
  • 160 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Stalker_RED
@Stalker_RED
Потому что по замыслу создателей этого сайта у вас сперва должна открыться страница которая установит куку, затем страница перезагрузится, и уже с кукой начнется скачивание.
Скачайте через браузер, скопируйте куку, добавьте ее в контекст.
Возможно придется еще и время в куке правильное выставлять, если они его проверяют.

'http'=> [
    'header'=>"Cookie: beget=begetok; foo=bar;"
  ]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы