Как узнать по URL-адресу, правильный ли это URL-адрес изображения или нет в C #? - PullRequest
0 голосов
/ 04 августа 2011

У меня есть массив изображений URL. Я хочу знать, какие из этих URL-адресов являются правильными, а какие нет, без использования try - catch, и я хочу сделать это как можно быстрее.

1 Ответ

1 голос
/ 04 августа 2011

Я думаю, что единственный способ узнать, какие URL верны, - это просто сделать HTTP-запрос к URL. Если у вас много фотографий, это всегда займет время. Вы можете минимизировать это время, просто сделав HTTP-запрос HEAD (в отличие от GET и загрузив весь ответ) и проверив код состояния ответа. Если код состояния 200, вы можете предположить, что получаете изображение, которое ищете, если это 404, вы знаете, что URL неверный.

Код может быть что-то вроде:

HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://example.com/");
req.Method = "HEAD";
HttpWebResponse resp = (HttpWebResponse)(req.GetResponse());
HttpStatusCode statuscode = resp.StatusCode;

Примечание о получении ответа 200: если вы получаете 200 откликов, вы не можете быть уверены, что действительно получаете изображение, которое хотите. Вы можете получить что-то еще, например перенаправление с URL-адреса изображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...