2014-01-22 32 views
2

我正在創建一個訪問.asp頁面的android應用程序。對於Web表單提交,我必須發送EVENTVALIDATIONVIEWSTATE值到服務器。對於我的理解,這些值對於每個Web表單控件都不相同。如何從asp頁面中獲取VIEWSTATE和EVENTVALIDATION值android

所以在服務器的頁面響應中,我得到了EVENTVALIDATION的值,當我提交表單提交時我必須發送這個值。

<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWMg....> 

我有發送POST請求到服務器並獲得響應

通用代碼HTTP方法:

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值,以便我可以在稍後階段將它用於後續表單提交。

+0

是的,你是對的。這些輸入值對於每一頁都是不同的。它們用於在渲染過程中存儲有關控件的一些信息。 –

回答

1

找到了一種方法,從響應得到EVENTVALIDATION和VIEWSTATE值使用JSOUP

Document document=Jsoup.parse(response); 
String viewState=document.select("#__VIEWSTATE").attr("value"); 
String eventValidate=document.select("#__EVENTVALIDATION").attr("value"); 
相關問題