2015-05-22 64 views
-2

我正尝试使用C#应用程序提取给定URL的源页面。现在我正在使用类HttpWebRequest无法获取URL的确切来源

奇怪的是,从这个类获得的结果页面与使用Google Chrome浏览器(Ctrl + u)获得的页面相比完全不同。

有人可以告诉我如何得到确切的源页面。或者期望这两个页面是平等的呢?

非常感谢

+1

用户代理是不同的 - 这可能是一个因素。也JavaScript可以操纵输出。 –

回答

1

使用Web浏览器可以是微不足道虽然HTML会从互联网上检索正确。代码将要求您调用另一个void或将代码放入事件中。

WebBrowser wb = new WebBrowser(); 
private void button1_Click(object sender, EventArgs e) { 
    wb.Navigate("http://kissanime.com/Anime/One-Piece"); 
    wb.ScriptSupress = true; 
    wb.DocumentCompleted += pageLoaded; 
} 

private void pageLoaded(object sender, WebBrowserDocumentCompletedEventArgs e) { 
    string src = wb.DocumentText; 
} 

通过使用方法,你将得到HTML直出一个网络浏览器,虽然它可能需要一段时间来加载依赖于网页,图片和依赖关系(如JS,CSS和图片保存到外部文件/大小影片)。

+0

非常感谢您的重播。它真的工作,并解决了我的问题 – user3151256

+0

您的欢迎。只要确保ScriptSupress已启用,或者您将获得有关允许脚本的弹出窗口。 –