HttpWebRequest如何获取完整的网页

faintyang 2013-07-18 08:03:06
我想获取网页上一个链接,但是这个链接是通过js加载出来的,用下这个代码获取总是js加载完成前的源码,怎么才有得到js加载完成后的网页呢?
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Timeout = 30000;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream receiveStream = response.GetResponseStream();
StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);
strResult = readStream.ReadToEnd();
if (request.HaveResponse)
{
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
return strResult;
...全文
483 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
faintyang 2013-07-19
  • 打赏
  • 举报
回复
引用 1 楼 tangyanzhi1111 的回复:
webbrowser documentComplete判断当前加载网页位置以及页面,然后获取页面源码。
引用 2 楼 lizhi3186575 的回复:
HttpWebRequest好像没有提供加载完成的判断的,建议使用WebBrowser的documentComplete来获取完整页面代码,具体实现参考:http://www.cnblogs.com/ceachy/articles/CSharp_Retrive_Page_Document.html
谢谢两位的热心回答 其实是这样的,那个网页上我想要的链接是个下载链接,WebBrowser我试过,直接用webbrowser打开这个网页的时候,它会弹出保存的提示框,然后让我选择保存的路径,但是我想让它直接保存到某个路径,网上找了找也没找到相关的代码,所以就用了HttpWebRequest,想从获取的网页代码里找到下载链接,然后再用httpwebrequest下下载链接来下载文件,但是得到的加载完成前的网页代码,所以就不知道怎么办了。 那么有没有不让webbrowser不弹出选择保存路径,自动保存到某路径的方法,别的什么方法可以下载那个文件呢
faintyang 2013-07-19
  • 打赏
  • 举报
回复
引用 5 楼 pkudzy 的回复:
webbrowser可以执行js,所以能弹出保存对话框。但是HttpWebRequest就不能执行js了。 可以从网页源码中获取js代码解析出url,但是网页的js也可能是调用了另外一个js文件的函数,这样就要再去解析那个js文件,一直到找到需要的url为止,这时就可以再用HttpWebRequest去访问找出的那个url了。
谢谢,不过我没用js,也不会解析js代码..........应该怎么做呀? 另外,除了webbrowser和httpwebrequest,有没有别方法可以实现网页里的那个文件自动下载到本地路径呢?
闲云之然 2013-07-19
  • 打赏
  • 举报
回复
webbrowser可以执行js,所以能弹出保存对话框。但是HttpWebRequest就不能执行js了。 可以从网页源码中获取js代码解析出url,但是网页的js也可能是调用了另外一个js文件的函数,这样就要再去解析那个js文件,一直到找到需要的url为止,这时就可以再用HttpWebRequest去访问找出的那个url了。
人生导师 2013-07-18
  • 打赏
  • 举报
回复
HttpWebRequest好像没有提供加载完成的判断的,建议使用WebBrowser的documentComplete来获取完整页面代码,具体实现参考:http://www.cnblogs.com/ceachy/articles/CSharp_Retrive_Page_Document.html
江湖评谈 2013-07-18
  • 打赏
  • 举报
回复
webbrowser documentComplete判断当前加载网页位置以及页面,然后获取页面源码。

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧