使用网络客户端问题下载 HTML 页面



在 Asp.net MVC中,我想使用url(DownloadString方法)下载html页面内容,以便我可以转换为PDF。Html页面本身使用JSRender绑定到模板。

 using (WebClient client = new WebClient())
 {
      string html = client.DownloadString(url);
 }

但是,当我尝试从 URL 下载 HTML 时,它似乎在渲染完成之前下载了页面,所以我得到的实际上是 HTML 几乎预渲染的,这不是我想要的。

甚至有可能使用 WebClient 甚至从服务器端完成我想要实现的目标,而无需以某种方式从客户端执行此操作?

Webclient 在页面完全加载之前不会返回 html。

页面中很有可能有一个

JavaScript,当它运行时,它会将更多的东西加载到页面中。 因此,当您下载页面时,该JavaScript不会运行,因此,某些部分无法加载。

试试这个:

static string GetHtmlPage(string strURL)
{
    String strResult;
    WebRequest objRequest = WebRequest.Create(strURL);
    WebResponse objResponse = objRequest.GetResponse();
    using (var sr = new StreamReader(objResponse.GetResponseStream()))
    {
        strResult = sr.ReadToEnd();
        sr.Close();
    }
    return strResult;
}
private void button3_Click(object sender, EventArgs e)
{
    MessageBox.Show(GetHtmlPage("http://www.awardwinnersonly.com"));
}

最新更新