PHP:Может ли CURL следовать мета-перенаправлениям?

StackOverflow https://stackoverflow.com/questions/1820705

  •  10-07-2019
  •  | 
  •  

Вопрос

CURL может следовать за перенаправлениями заголовков с использованием CURLOPT_FOLLOWLOCATION, но возможно ли следовать за перенаправлениями мета-обновления?

Спасибо

Это было полезно?

Решение

Да, но вам придется сделать это самостоятельно, анализируя ответ и ища что-то вроде:

<meta http-equiv="refresh" content="5;url=http://example.com/" />

Повиновение <meta> Запросы на обновление — это проблема на стороне браузера.Используйте анализ DOM для поиска <meta> теги с соответствующими атрибутами в ответе, который дает вам cURL.

Если вы можете гарантировать, что ответ представляет собой действительный XML, вы можете сделать что-то вроде этого:

$xml = simplexml_load_file($cURLResponse);
$result = $xml->xpath("//meta[@http-equiv='refresh']");
// Process the $result element to get the relevant bit out of the content attribute
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top