Получение фактического 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