是否可以抓取ASP.NET页面?

问题描述:

有没有办法抓取一些使用doPostBack作为事件调用的ASP.NET页面?是否可以抓取ASP.NET页面?

例子:

Page1.aspx的:

包含1个LinkBut​​ton的一个重定向到Page2.aspx

代码隐藏LinkBut​​ton的Click事件:

Response.Redirect("Page2.aspx") 

在客户端,此代码在点击事件中生成:

doPostBack(... 

是否有可能只使用HttpWebRequest抓取页面?

我知道在这种情况下使用Response.Redirect并不是一个好主意,但我没有选择。

是的,如果代码遵循一个良好可预测的模式是可能的。您必须从页面收集表单数据并模拟doPostBack函数的作用(将某些值放入一些隐藏的字段中),并向服务器发送POST请求。你得到的将是一个重定向页面,所以你必须解析它才能得到目标页面的url。

如果您的意思是像Google这样的搜索引擎会抓取网页,那么这是不太可能的。他们可能会尝试遵循一些常见的发布和脚本链接模式,但通常您需要在页面之间使用适当的链接以确保它们可以被抓取。