Я подписываю свои URL, чтобы они действовали только в течение определенного периода времени.
Когда URL-адреса являются недействительными, я получаю:
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Error>
<Code>AccessDenied</Code>
<Message>Access denied</Message>
</Error>
Есть ли способ проверить объект, URL-адрес действителен или нет, если он недействителен, я хочу перенаправить пользователя на общую страницу ошибки.
Вы можете использовать функцию string file_get_contents(string $url)
чтобы получить вывод URL,
затем проверьте, соответствует ли ответ указанному выше (имейте в виду, что «Этот XML-файл не имеет стиля …» не является частью ответа).
Вот пример:
<?php
if (file_get_contents("http://example.com/foo/bar") === $errorResponse) {
//There was an error
header("Location: http://example.com/redirect/");
}
?>
Если сообщение об ошибке не всегда одно и то же, вы можете использовать анализатор XML, чтобы проверить, <Error>
существует или просто используйте регулярное выражение.
Других решений пока нет …