如何使用Viewstate参数刮取页面请求?

时间:2014-09-25 09:08:21

标签: python asp.net .net scrapy viewstate

我一直试图抓住这个网站:http://www.e3050.com/Cases-Fans-PDU/C

我可以正常删除任何东西但是转到下一页,调试后我发现它们为每个页面请求发送了__Viewstate参数。 viewstate参数存储在每个页面响应中,因此我想出每页需要获取它并将其发送到下一页。 我使用这个xpath得到__viewstate:

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

我也遇到了错误,因为他们发送的视图状态与他们的页面响应中列出的视图状态不同,两个参数都是64位编码但是每个请求发送的参数比我从页面响应获得的数据多

我该如何处理?以及它们如何获得viewstate参数?

编辑: __EVENTVALIDATION参数的问题相同。

1 个答案:

答案 0 :(得分:2)

__ VIEWSTATE是.net中用于安全原因的参数。 它基本上是您请求的页面的引用页面的哈希。 它通常嵌入在标签中,您只需要在每个请求之前提取它并将其添加到您的下一个请求中。