我正在创建一个访问 .asp 页面的 Android 应用程序。对于 Web 表单提交,我必须将 EVENTVALIDATION
和 VIEWSTATE
值发送到服务器。据我了解,每个 Web 表单控件的这些值都不同。
因此,在服务器的页面响应中,我收到了 EVENTVALIDATION
值,当我提交表单时必须发送该值。
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWMg....>
我有http方法,它向服务器发送post请求并获取响应
通用代码:
HttpPost httppost = new HttpPost(url);
httppost.addHeader("Cookie","ASP.NET_SessionId="+cookieId+"; path=/");
httpResponse = httpClient.execute(httppost);
response = EntityUtils.toString(httpResponse.getEntity());
我还注意到 eventvalidate 值的输入 type="hidden"
。
所以我的问题是如何从响应中获取 EVENTVALIDATION
值,以便我可以在稍后阶段将其用于后续表单提交。
最佳答案
找到了一种使用 JSOUP 从响应中获取 EVENTVALIDATION 和 VIEWSTATE 值的方法
Document document=Jsoup.parse(response);
String viewState=document.select("#__VIEWSTATE").attr("value");
String eventValidate=document.select("#__EVENTVALIDATION").attr("value");
关于android - 如何从android中的asp页面获取VIEWSTATE和EVENTVALIDATION值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21281622/