下载特定网址的内容没有问题。
但是我有一个ASP.NET页面,我必须屏幕抓取点击按钮后面的有趣数据。如何模拟该按钮上的单击并获取Web服务器将生成的数据?
按钮运行此javascript:
javascript:__doPostBack('ctl00$ctl01$DefaultSiteContentPlaceHolder1$Col1$ucNavBar$rptButtons$ctl00$btnPage','')
现在我正在使用此ASP.NET代码来获取特定URL的内容:
public string GetDataFromUrl(string strUrl)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(strUrl);
request.Accept = "text/html, application/xhtml+xml, */*";
request.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)";
request.KeepAlive = true;
using (StreamReader streamReader = new StreamReader(request.GetResponse().GetResponseStream(), Encoding.UTF8, true))
{
return streamReader.ReadToEnd();
}
}
- 编辑
我找到了解决方案。使用程序Fiddler能够确切地看到当我点击按钮时会发生什么。然后我尝试制作一个看起来尽可能与真实电话一样的POST。
答案 0 :(得分:0)
您查看__doPostBack
函数中的代码,并重现它的作用。
手动执行此操作并不难。模拟Javascript引擎以便它可以处理任何类型的脚本是完全不同的事情。