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

时间:2009-07-15 18:13:16

标签: asp.net web-crawler

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

示例:

Page1.aspx的:

包含1个重定向到Page2.aspx

的LinkBut​​ton

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

 Response.Redirect("Page2.aspx")

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

doPostBack(...

是否可以仅使用HttpWebRequest抓取页面?

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

1 个答案:

答案 0 :(得分:2)

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

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