HTML от URL за домашните от Regular Expressions които ползват HTML

Здравейте,

Бележката към 2-ра задача "Replace <a> tag" от домашното "Regular Expressions" ме подсети че HTML-ът може да се зареди от файл.

Note: The input may be read on a single line (unlike the example above) or from a file. Remove all new lines if you choose the first approach.

И си направих един метод който да чете HTML от даден интернет адрес, за да го използвам за тестове за тази и другите задачи които работят с html. Не е нищо кой знае какво 7 - 8 реда код, но заради валидациите порасна малко (основното което трябва да се случи е във try блока, всичко друго са предпазни мерки):

private static string GetHTML(string url)
{
    // most often the html string can't fit in the console buffer, set here 
    // a point where the string to be sliced
    int maxLength = 5000;

    string invalidUrlMessage = "Invalid URL, try again";

    var urlValidator = new Regex(@"((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[.\!\/\\w]*))?)");

    if (urlValidator.IsMatch(url))
    {
        using (var webClient = new WebClient())
        {
            try
            {
                webClient.Encoding = Encoding.UTF8;
                webClient.Headers.Add(HttpRequestHeader.UserAgent, "Mozilla/5.0");
                webClient.Headers.Add(HttpRequestHeader.AcceptCharset, "utf-8");
                string html = webClient.DownloadString(url);

                if (html.Length > maxLength)
                {
                    return html.Substring(0, maxLength);
                }
                else
                {
                    return html;
                }
            }
            catch (WebException ex)
            {
                if (ex.Status == WebExceptionStatus.NameResolutionFailure)
                {
                    return invalidUrlMessage;
                }
                else
                {
                    throw ex;
                }
            }    
        }
    }
    else
    {
        return invalidUrlMessage;
    }
}

Ползва се много лесно: 

string html = GetHTML("https://softuni.bg")

и получавате страницата от посочения адрес (или част от нея ако е много голяма)