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