У меня есть гибкое приложение, в котором пользователь может предоставить ссылку на ресурс. Я хочу выполнить простую проверку и проверить, действительно ли 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, но получил те же результаты. Есть идеи?