是否可以抓取ASP.NET页面?
问题描述:
有没有办法抓取一些使用doPostBack作为事件调用的ASP.NET页面?是否可以抓取ASP.NET页面?
例子:
Page1.aspx的:
包含1个LinkButton的一个重定向到Page2.aspx
代码隐藏LinkButton的Click事件:
Response.Redirect("Page2.aspx")
在客户端,此代码在点击事件中生成:
doPostBack(...
是否有可能只使用HttpWebRequest抓取页面?
我知道在这种情况下使用Response.Redirect并不是一个好主意,但我没有选择。
答
是的,如果代码遵循一个良好可预测的模式是可能的。您必须从页面收集表单数据并模拟doPostBack函数的作用(将某些值放入一些隐藏的字段中),并向服务器发送POST请求。你得到的将是一个重定向页面,所以你必须解析它才能得到目标页面的url。
如果您的意思是像Google这样的搜索引擎会抓取网页,那么这是不太可能的。他们可能会尝试遵循一些常见的发布和脚本链接模式,但通常您需要在页面之间使用适当的链接以确保它们可以被抓取。