I think you can easy check whether an URL is valid like this:
WebClient webClient = new WebClient();
try
{
Stream strm = webClient.OpenRead(URL);
}
catch (WebException we) {
throw we;
}
It is enough because if the URL is invalid the exception will be thrown.