2014-09-25 54 views
2

我一直想湊這個網站:http://www.e3050.com/Cases-Fans-PDU/C如何使用Viewstate參數刮取頁面請求?

我可以正常,但移動到下一個頁面湊什麼,調試我發現他們發送__ViewState參數爲每個頁面請求後。 viewstate參數存儲在每個頁面響應中,所以我發現我需要每頁獲取並將它發送到下一頁。 我使用這個XPath得到__VIEWSTATE:

sel.xpath('//input[@id="__VIEWSTATE"]/@value').extract() 

我也得到一個錯誤,因爲他們發送的視圖狀態是不同的比在自己的頁面響應徵召,這兩個參數是64基地編碼,但他們每發一個請求比我從頁面響應中獲得的數據更多。

我該如何處理?以及他們如何獲得viewstate參數?

編輯: __EVENTVALIDATION參數的相同問題。

+0

視圖狀態是每頁支持回傳。不要將視圖狀態發送到其他頁面。 – 2014-09-25 10:39:01

+0

那麼我怎樣才能得到下一頁的視圖狀態? – Vanddel 2014-09-25 11:07:23

+0

或者他們如何首先爲請求生成視圖狀態? – Vanddel 2014-09-25 11:10:45

回答

2

__VIEWSTATE是出於安全原因在.net中使用的參數。 它基本上是推薦頁面到您請求的頁面的散列。 它通常嵌入到標籤中,您只需在每個請求前提取它並將其添加到下一個請求中即可。

+0

你是如何解決你的問題@Vanddel的。你沒有解釋 – eusoubrasileiro 2017-08-24 18:02:25