This question already has answers here:
How to get status code from webclient?
(10个答案)
6年前关闭。
所以我有这段代码,我正在尝试查找Twitter/吗?在twitter.com/name的源代码中(用于验证用户是否存在)
当用户存在时,它可以正常工作,而当用户不存在时,它会显示404错误并停止。无论如何,有没有忽略404错误并使它仍然查看该页面的源代码的信息?因为如果我们转到ex:view-source:https://twitter.com/pogosode,它不存在,但是我们仍然可以看到源。
(10个答案)
6年前关闭。
所以我有这段代码,我正在尝试查找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));
}
}
最佳答案
您可以捕获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));
}
}
关于c# - C#404错误(Webclient),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20890739/
10-10 16:31