所以我有这段代码
string source = "";
try
{
string websiteName = "https://facebook.com/" + Membre.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("og:title"))
{
Console.WriteLine("{0} is taken.", Membre.NomMembre);
}
如果我转到facebook.com/pokemon来源,我们可以看到它有og:title
但由于某种原因,我认为它没有找到它。
答案 0 :(得分:2)
您遇到的实际问题是,您的WebClient
被FaceBook拒绝,请求被重定向到“更新您的浏览器页面”。
如果您想查看页面的外观,只需复制source
属性的结果并将其另存为HTML页面
解决此问题的一种方法是尝试通过添加他们支持的浏览器的用户代理标头来欺骗您的WebClient浏览器代理。我选择了IE10(因为它是我方便的)。要添加标题,请尝试。
WebClient client = new WebClient();
client.Headers.Add("user-agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)");
source = client.DownloadString(websiteName);
现在真的应该使用Facebook API,这可能会让你被Facebook禁止。