Проверить наличие 403 по данному url'у
Добрый день! Есть определённый url, нужно проверить, возвращает ли сервер в ответ 403. Пробую через XMLHttpRequest, но проблема в том, что когда сервер формирует 403, заголовка 'Access-Control-Allow-Origin' нет. При этом клиент (браузер) видит, что ему возвращается 403, но не передаёт эту информацию в объект XMLHttpRequest, а вылетает с ошибкой. Подскажите, можно ли это как-нибудь обойти? Чтобы я получал информацию, что 403, но при этом не было грубых ошибок. Может есть какой-то другой вариант, без XMLHttpRequest?
var xhr = new XMLHttpRequest(); xhr.open('GET', 'http://d11.cdnvideo.ru/slon3-test-stand/files/w320.webm', false); xhr.send(); if (xhr.status == 403) { alert( xhr.status + ': ' + xhr.statusText ); } else { alert( xhr.responseText ); } |
Нет там решения. Проблема не в xhr, там можно добавить заголовки вроде, проблема в том, что тот домен, на который идет запрос тоже должен разрешить этот запрос. А 403 тебе возвращается как раз потому, что сервер не позволяет кросдоменные запросы. Пробуй через фреймы делать, хотя фреймы сервер тоже может скипить
|
tweentween1,
а вообще, зачем выдрачиваться с xhr, и клиентским кодом вообще, если данный вопрос решается со стороны бекэнда как 2 пальца обоссать? |
И да, если нуден ответ не по конкретному запросу, а просто по домену, то можешь просто загрузить картинку или скрипт оттуда, через src и проверить, там нет ограничений на кросдоменные запросы как правило.
|
Цитата:
|
scrollquest,
403 - это не проблема, а фича: сервер отдаёт её в случае гео-ограничения (после проверки). И нужно в этом случае (при ответе 403) выводить на экран вместо контента специальный текст. Архитектуру сервера (например, чтобы в случае гео-ограничения он передавал не 403, а какое-то сообщение) сейчас нет возможности изменить. Нужно как-то научиться обрабатывать 403. |
laimas,
И что? ты не сможешь проверить с бекэнда, отдается ли 403? |
tweentween1,
пробуй вариант с src тогда, который я выше предложил |
Цитата:
|
Цитата:
Код:
geo.html:17 GET http://d11.cdnvideo.ru/slon3-test-stand/files/w320.webm 403 (Forbidden)(anonymous function) |
Часовой пояс GMT +3, время: 03:59. |