积极答复者
aspx网站中有__viewstate这个,并且傻长,怎么访问?

问题
答案
-
大哥,我是准备做个客户端程序访问这个网站。我不是自己建设这个网站。
能不能给点思路,怎么能获取到这个viewstate,并且能够post出去。。。。。?
你应该使用WebBrowser类,然后加载这个Url,并且使用其中的一些方法。示例代码(举例,请根据实际情况更改):
获取隐藏域内容的方法(你还要post隐藏的内容,我不认为可能;因为post方法恐怕只能在本页面进行post):
Dim wb As New WebBrowser Addhandler webBrowserForPrinting.DocumentCompleted, AddressOf CompleteWebBrowser wb.Navigate("你的url地址") //事件 Private Sub CompleteWebBrowser(ByVal sender As Object, _ ByVal e As WebBrowserDocumentCompletedEventArgs) Dim wb As WebBrowser = CType(sender, WebBrowser) //获取隐藏域的value内容(已经加密,很长) Dim contents As String = wb.Document.GetElementById("你的隐藏域ID").GetAttribute("value")
End Sub
- 已建议为答案 Mark Liu-lxf 2012年4月6日 8:20
- 已标记为答案 Youen ZenModerator 2012年4月16日 8:58
全部回复
-
任何服务端的网页开发程序到最终客户端都是HTML形式(本质也是HTML)。因此网站都不具备记忆性。之所以你在一个TextBox中写入文字,点击submit按钮文字仍旧存在,就是因为这些看不见的ViewState在起作用(记忆文本数据内容,保持来回页面传送时候不至于被丢失)。如果你不想看到这个ViewState,你可以有选择地禁用(EnableViewState=false)试试看(不过有些控件禁用貌似无法正常工作的)。
很长是数据被加密了,无法直接进行访问的(看不到真正内容的,否则就被破解了)。
-
大哥,我是准备做个客户端程序访问这个网站。我不是自己建设这个网站。
能不能给点思路,怎么能获取到这个viewstate,并且能够post出去。。。。。?
你应该使用WebBrowser类,然后加载这个Url,并且使用其中的一些方法。示例代码(举例,请根据实际情况更改):
获取隐藏域内容的方法(你还要post隐藏的内容,我不认为可能;因为post方法恐怕只能在本页面进行post):
Dim wb As New WebBrowser Addhandler webBrowserForPrinting.DocumentCompleted, AddressOf CompleteWebBrowser wb.Navigate("你的url地址") //事件 Private Sub CompleteWebBrowser(ByVal sender As Object, _ ByVal e As WebBrowserDocumentCompletedEventArgs) Dim wb As WebBrowser = CType(sender, WebBrowser) //获取隐藏域的value内容(已经加密,很长) Dim contents As String = wb.Document.GetElementById("你的隐藏域ID").GetAttribute("value")
End Sub
- 已建议为答案 Mark Liu-lxf 2012年4月6日 8:20
- 已标记为答案 Youen ZenModerator 2012年4月16日 8:58