2009-07-15 58 views
2

有沒有辦法抓取一些使用doPostBack作爲事件調用的ASP.NET頁面?是否可以抓取ASP.NET頁面?

例子:

Page1.aspx的:

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

代碼隱藏LinkBut​​ton的Click事件:

Response.Redirect("Page2.aspx") 

在客戶端,此代碼在點擊事件中生成:

doPostBack(... 

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

我知道在這種情況下使用Response.Redirect並不是一個好主意,但我沒有選擇。

回答

2

是的,如果代碼遵循一個良好可預測的模式是可能的。您必須從頁面收集表單數據並模擬doPostBack函數的作用(將某些值放入一些隱藏的字段中),並向服務器發送POST請求。你得到的將是一個重定向頁面,所以你必須解析它才能得到目標頁面的url。

如果您的意思是像Google這樣的搜索引擎會抓取網頁,那麼這是不太可能的。他們可能會嘗試遵循一些常見的發佈和腳本鏈接模式,但通常您需要在頁面之間使用適當的鏈接以確保它們可以被抓取。