У меня есть гибкое приложение, в котором пользователь может предоставить ссылку на ресурс. Я хочу выполнить простую проверку и проверить, действительно ли URL-адрес действителен (не просто структура, но на самом деле проверить ссылку, чтобы убедиться, что я получил 200 OK).
Я подумал, что просто использую HttpService и метод HEAD, но кажется, что это доступно только тогда, когда вы устанавливаете useProxy в значение true, но я пробовал это, и все равно получаю ошибки; поэтому я почти уверен, что делаю что-то не так ... вот фрагмент кода
var service:HTTPService = new HTTPService();
service.method = "HEAD";
service.url = url;
service.useProxy = true;
service.addEventListener(ResultEvent.RESULT, result);
service.addEventListener(FaultEvent.FAULT, error);
service.send();
Есть идеи, что я делаю не так? Я также открыт для других предложений относительно того, как проверить, действителен ли URL (я бы предпочел сделать это непосредственно из Flex, без необходимости возвращаться к серверу). Спасибо.
РЕДАКТИРОВАТЬ (13.08.2009)
Я реализовал простой UrlValidator, используя UrlLoader и назначив ему 2 слушателя. один для IOError, а другой для Progress. Я думал, что Progress будет действовать аналогично вызову HEAD, и я мог бы просто убить поток после получения некоторого количества данных. К сожалению, событие прогресса вызывается в случае 404 или 403, что не соответствует цели. Я также пробовал это с событием Open, но получил те же результаты. Любые идеи?