【发布时间】:2012-06-17 07:55:54
【问题描述】:
我需要从这个website 中获取一些值。基本上我需要获得每个城市的区域。我为此使用 Python 和 beautifulsoup。我正在做的是:
-
首先向此页面发出 Get 请求并获取 __VIEWSTATE 和 __EVENTVALIDATION 以发出 POST 请求以获取特定州的城市。到此为止,它正在工作,我正在获取每个州的城市。
要获取区域,我需要使用新的 __VIEWSTATE 和 __EVENTVALIDATION 进行另一个 POST,这一次我需要发送城市以及其他参数。但我在这里遇到错误:
505|error|500|Invalid postback or callback argument. Event validation is enabled using <pages enableeventvalidation="true"> in configuration or <%@ Page EnableEventValidation="true" %> in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.|</pages>
我已经检查了 firebug 中的每个参数/参数,我需要发送这些参数/参数来获取相应城市的区域,但没有成功。在我看来,问题可能出在 __VIEWSTATE 或 __EVENTVALIDATION。
请帮帮我
【问题讨论】:
-
您不需要在客户端更改 ViewState。
-
我没有改变 __VIEWSTATE...我从服务器返回的 html 中获取它
-
您是否正在回发 ViewState 和 EventValidation 的值?如果不是,那么这就是您的问题所在:您必须将这些变量发回服务器,因为服务器。
-
您是否发送第一个请求获得的 cookie?
-
@ArtemKoshelev 我认为此请求不需要 cookie。因为我在没有发送 cookie 数据的情况下获得了城市数据。
标签: asp.net python beautifulsoup urllib2