C# 使用WebClient问题下载HTML页面
在Asp.NETMVC中,我想使用url(DownloadString方法)下载html页面内容,这样就可以将其转换为PDF格式。Html页面本身正在使用JSRender绑定到模板C# 使用WebClient问题下载HTML页面,c#,html,asp.net,asp.net-mvc,C#,Html,Asp.net,Asp.net Mvc,在Asp.NETMVC中,我想使用url(DownloadString方法)下载html页面内容,这样就可以将其转换为PDF格式。Html页面本身正在使用JSRender绑定到模板 using (WebClient client = new WebClient()) { string html = client.DownloadString(url); } 然而,当我试图从Url下载Html时,它似乎在呈现完成之前下载了页面,所以我得到的实际上是Html几乎是预呈现的,这不是
using (WebClient client = new WebClient())
{
string html = client.DownloadString(url);
}
然而,当我试图从Url下载Html时,它似乎在呈现完成之前下载了页面,所以我得到的实际上是Html几乎是预呈现的,这不是我想要的
甚至可以使用WebClient或甚至从服务器端执行我试图实现的操作,而不必从客户端执行此操作吗?在页面完全加载之前,WebClient不会返回html
页面中很有可能存在javascript,当它运行时,会将更多内容加载到页面中。因此,当您下载页面时,javascript不会运行,因此,某些部分不会加载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"));
}
试试这个:
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"));
}
没错,我必须将用户代理作为响应标题的一部分发送。您是否自己回答了问题并将自己的答案标记为正确答案?!:)它们都没有提供正确答案,因为它们似乎不适用于原始问题中的场景。没错,我必须将用户代理作为响应标题的一部分发送。您是否自己回答了问题并将自己的答案标记为正确答案?!:)它们都没有给出正确的答案,因为它们似乎不适用于原始问题中的场景。好吧,我相信我正在尝试其他方法,但这不起作用,我下面的答案也不起作用,因为html预期仍然没有返回。它适用于我,因此我不知道你的问题是什么。你有什么错误的味精吗?当您逐步了解它时,会发生什么情况?我使用JSRender绑定到模板,得到的html是html预绑定。您是否尝试过在视图中使用JSRender或Knockout?没有,我显示的代码是完整的代码;这是一种简单实用的方法。这不是项目的一部分;这是一个简单的独立代码。好吧,恐怕它在使用JSRender时不起作用。好吧,我相信我在尝试其他方法,但这不起作用,我下面的答案也不起作用,因为html仍然没有返回。它对我有效,所以我不知道你的问题是什么。你有什么错误的味精吗?当您逐步了解它时,会发生什么情况?我使用JSRender绑定到模板,得到的html是html预绑定。您是否尝试过在视图中使用JSRender或Knockout?没有,我显示的代码是完整的代码;这是一种简单实用的方法。这不是项目的一部分;这是一个简单的独立代码。好吧,恐怕它不适合使用JSRender。