2011-05-26 72 views
1

我正在從Python腳本中抓取某個支持ASP.NET的搜索頁面,並且遇到了麻煩,無法獲取我想從回發中獲取的數據。抓取時正確處理ASP.NET頁面

所以我想驗證,如果我已經得到了正確的ASP.NET相關位,然後排除它。

到目前爲止,我只是採取所有隱藏的表單變量(例如__VIEWSTATE)併發送它們與其他POST請求參數。 這是正確的,還是應該以某種方式改變? POST響應包含已更新的隱藏變量,我認爲它應成爲下一個回發的參數,但是當我在Firefox中瀏覽同一頁時,並非所有回發的隱藏表單域都是相同的(例如__EVENTTARGET__EVENTARGUMENT)。

我需要任何其他特殊處理嗎?或者這是全部嗎?

回答

2

這幾乎都是它的一切。最主要的是維護__VIEWSTATE從一個職位到另一個職位;這聽起來像你已經覆蓋。

+0

我認爲客戶端無法更改__VIEWSTATE? – 2011-05-26 14:31:31

+0

@Alex B:查看狀態是傳遞給客戶端的頁面的「加密」狀態。這些信息在回發後由服務器解密,並與各種值進行比較。如果有什麼是失敗的,那麼你會得到一個不錯的黃色屏幕,抱怨視圖狀態。所以,不,客戶不能改變它。 – NotMe 2011-05-31 01:40:37