«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как получить фактический URL-адрес после перенаправления с помощью file_get_contents()?

Как получить фактический URL-адрес после перенаправления с помощью file_get_contents()?

Опубликовано 12 ноября 2024 г.
Просматривать:838

How to Retrieve the Actual URL after Redirection with file_get_contents()?

Получение фактического URL-адреса после получения файла с помощью file_get_contents

При использовании file_get_contents() для получения содержимого веб-сайта возможно, что указанный URL-адрес перенаправляется в другое место. Хотя эта функция может быть удобной, она также может вызвать необходимость определения фактического URL-адреса, достигнутого после перенаправления.

Один из способов добиться этого — настроить file_get_contents() для игнорирования перенаправлений. Вот как:

$context = stream_context_create(
    array(
        'http' => array(
            'follow_location' => false
        )
    )
);

$html = file_get_contents('http://www.example.com/', false, $context);

Установив для 'follow_location' значение false в контексте потока, file_get_contents() будет получать содержимое без автоматически после перенаправления.

После выполнения запроса заголовки, возвращаемые во время ответа HTTP, можно проверить, чтобы получить окончательный результат. URL:

var_dump($http_response_header);

Это отобразит массив, содержащий заголовки HTTP, включая заголовок «Местоположение», который указывает фактический URL-адрес, достигнутый после любых перенаправлений.

Этот подход основан на решении, представленном в разделе «Переполнение стека» в теме «Как игнорировать перемещенный заголовок с помощью file_get_contents в PHP?"

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3