C#404错误(Webclient)

时间:2014-01-02 19:55:00

标签: c# web error-handling

所以我有这个代码,我试图找到Twitter /?在twitter.com/name的源代码中(以验证用户是否存在) 当用户存在时,它工作正常,当用户没有时,它会给出404错误并停止。反正有没有忽略404错误,让它仍然看看该页面的源代码?因为如果我们转到ex:view-source:https://twitter.com/pogosode,它就不存在,但我们仍然可以看到来源..

foreach (Membre noms in p_nom)
        {
            string websiteName = "https://twitter.com/" + noms.NomMembre;
            string source = (new WebClient()).DownloadString(websiteName);
            if (source.Contains("<title>Twitter / ?</title>"))
                {
                p_disponible.Add(new MembreVerifier(noms.NomMembre));
                }
        }

1 个答案:

答案 0 :(得分:0)

您可以捕获WebException异常并从Response属性中读取响应。

示例:

foreach (Membre noms in p_nom)
{
    string source = "";
    try
    {           
        string websiteName = "https://twitter.com/" + noms.NomMembre;
        source = (new WebClient()).DownloadString(websiteName);     
    }
    catch (WebException ex)
    {
        using (var stream = ex.Response.GetResponseStream())
        {
            // Copy stream to buffer.
            var buffer = new byte[stream.Length];
            stream.Read(buffer, 0, (int)stream.Length);

            // Decode byte array to UTF-8 string.
            source = Encoding.UTF8.GetString(buffer);
        }
    }

    if (source.Contains("<title>Twitter / ?</title>"))
    {
         p_disponible.Add(new MembreVerifier(noms.NomMembre));
    }
}