我试图从Facebook中的一个页面获取一个Feed,如果我使用浏览器来获取提要的话,它可以正常工作 - 但是当我尝试构建一个必须获取XML的脚本时,它会返回HTML,任何想法为什么?还有其他方法可以获得粉丝的XML吗?
C#代码是:
private string GetFacebookPosts(string FacebookID, int NumberOfPosts)
{
string feedadress = "http://www.facebook.com/feeds/page.php?format=atom10&id=" + FacebookID.ToString();
WebClient web = new WebClient();
return web.DownloadString(feedadress);
}
#region Module rendering
/// <summary>
/// Renders the module output XML for frontend
/// </summary>
protected override string Render(Page page)
{
string FacebookResponse = GetFacebookPosts(ModuleEditionInstance.FacebookID, ModuleEditionInstance.NumberOfPosts);
XmlDocument FacebookXML = new XmlDocument();
FacebookXML.LoadXml(FacebookResponse);
// Transform the rendered xml with the current XslSnippet
return ApplyXslSnippet(FacebookXML.InnerXml, page);
}
#endregion`
当从Facebook获得回复时,我得到一个HTML页面,回复说它是一个不兼容的浏览器来自 - 如果是这样的话,那我该怎么得到这个?
答案 0 :(得分:2)
如果您通过传递其User-Agent标头假装客户端是IE等已知浏览器,该怎么办:
web.Headers["User-Agent"] = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)";