Comment obtenir le titre du site Web de c #

Je suis revisiter som ancien code de la mine et ont découvert une méthode pour obtenir le titre d'un site web basé sur son adresse url. Ce n'est pas vraiment ce qu'on pourrait appeler une méthode durable comme souvent, il ne parvient pas à produire un résultat, et parfois même produit des résultats incorrects. Aussi, parfois, elle ne parvient pas à montrer quelques-uns des personnages du titre, car ils sont d'un autre encodage.

Quelqu'un aurait-il des suggestions pour des améliorations au cours de cette ancienne version?

public static string SuggestTitle(string url, int timeout)
{
    WebResponse response = null;
    string line = string.Empty;

    try
    {
        WebRequest request = WebRequest.Create(url);
        request.Timeout = timeout;

        response = request.GetResponse();
        Stream streamReceive = response.GetResponseStream();
        Encoding encoding = System.Text.Encoding.GetEncoding("utf-8");
        StreamReader streamRead = new System.IO.StreamReader(streamReceive, encoding);

        while(streamRead.EndOfStream != true)
        {
            line = streamRead.ReadLine();
            if (line.Contains("<title>"))
            {
                line = line.Split(new char[] { '<', '>' })[2];
                break;
            }
        }
    }
    catch (Exception) { }
    finally
    {
        if (response != null)
        {
            response.Close();
        }
    }

    return line;
}

Une dernière remarque - je voudrais le code pour courir plus vite, car il est bloquant jusqu'à ce que la page a été récupérée, donc si je peux obtenir uniquement l'en-tête du site et de ne pas l'intégralité de la page, ce serait formidable.

source d'informationauteur Morten Christiansen