C# Convertir par rapport à des Liens Absolus dans la Chaîne HTML

Je suis la mise en miroir de certains sites web internes à des fins de sauvegarde. En ce moment, j'utilise essentiellement ce code c#:

System.Net.WebClient client = new System.Net.WebClient();
byte[] dl = client.DownloadData(url);

Ce juste fondamentalement télécharge le html et dans un tableau d'octets. C'est ce que je veux. Le problème, toutefois, est que les liens dans le code html sont la plupart du temps relatif, pas absolu.

En gros, je veux ajouter quelque soit le plein http://domain.is avant le lien relatif à la convertir en un absolu lien qui vous redirigera vers le contenu original. Je suis fondamentalement juste une question href= src=. Est-il une expression regex qui couvrira une partie de la base de cas?

Modifier [Ma Tentative]:

public static string RelativeToAbsoluteURLS(string text, string absoluteUrl)
{
    if (String.IsNullOrEmpty(text))
    {
        return text;
    }

    String value = Regex.Replace(
        text, 
        "<(.*?)(src|href)=\"(?!http)(.*?)\"(.*?)>", 
        "<$1$2=\"" + absoluteUrl + "$3\"$4>", 
        RegexOptions.IgnoreCase | RegexOptions.Multiline);

    return value.Replace(absoluteUrl + "/", absoluteUrl);
}

OriginalL'auteur Gary | 2010-10-01