post之前怎样获取将要打开页面的VIEWSTATE

问题描述

我要抓取方正教务系统中的课程表,但是要凭借VIEWSTATE才能post到对应班级的课程表页面,每个班级课程表的VIEWSTATE不一样,有什么方法获取VIEWSTATE

解决方案

解决方案二:
VIEWSTATE应该是服务器端对象!无法获取但是客户端页面有VIEWSTATE相关字段信息!应该不是必须要这个才能的!你抓包看下它提交的参数就好了!请求的时候带上cookie就好了!!
解决方案三:
但是我把VIEWSTATE去掉后,就显示不出课程表来,还有一个问题,我用HttpWatch查看它发过去的VIEWSTATE,跟要打开的那个网页里隐藏的那个VIEWSTATE不一样,HttpWatch里发过去的那个VIEWSTATE解出来完全是乱码,要打开的那个网页里隐藏的那个VIEWSTATE解出来可以看到信息,不知是不是加密过
解决方案四:
在前一个网页的源代码里面,可以直接取出来
解决方案五:
引用3楼liucqa的回复:

在前一个网页的源代码里面,可以直接取出来

但是像我截图所示,同一个选择页面,选择不同班级,出来的课程表不一样,这种情况下,前一个网页里面会包含要打开的网页的VIEWSTATE吗?
解决方案六:
ASP.NET页面里有hidden的viewstateinput,包含一大堆编码过的数据。默认情况下,应该还是可以能够解的开的。但这个是留有重写接口的,所以有可能viewstate是被另外的算法加密过的。
解决方案七:
引用5楼wjq的回复:

ASP.NET页面里有hidden的viewstateinput,包含一大堆编码过的数据。默认情况下,应该还是可以能够解的开的。但这个是留有重写接口的,所以有可能viewstate是被另外的算法加密过的。

加密倒是没怎么加密过,看起来就是做了一些简单的处理,比如本来Base64的+,变成了%2B,/变成了%2F,=变成了%3D,但是我在想,能不能找出这个Base64的编码规律,然后自己根据需要编一个,然后发送过去
解决方案八:
引用6楼a8496112的回复:

Quote: 引用5楼wjq的回复:
ASP.NET页面里有hidden的viewstateinput,包含一大堆编码过的数据。默认情况下,应该还是可以能够解的开的。但这个是留有重写接口的,所以有可能viewstate是被另外的算法加密过的。

加密倒是没怎么加密过,看起来就是做了一些简单的处理,比如本来Base64的+,变成了%2B,/变成了%2F,=变成了%3D,但是我在想,能不能找出这个Base64的编码规律,然后自己根据需要编一个,然后发送过去

很简单的url编码,也叫百分号编码。C#有类库
解决方案九:
引用7楼liucqa的回复:

Quote: 引用6楼a8496112的回复:
Quote: 引用5楼wjq的回复:
ASP.NET页面里有hidden的viewstateinput,包含一大堆编码过的数据。默认情况下,应该还是可以能够解的开的。但这个是留有重写接口的,所以有可能viewstate是被另外的算法加密过的。

加密倒是没怎么加密过,看起来就是做了一些简单的处理,比如本来Base64的+,变成了%2B,/变成了%2F,=变成了%3D,但是我在想,能不能找出这个Base64的编码规律,然后自己根据需要编一个,然后发送过去

很简单的url编码,也叫百分号编码。C#有类库

这个百分号编码是依据网页的Viewstate进行编码,然后再稍作处理的吧,那viewstate究竟是怎么形成的呢?
解决方案十:
很简单的url编码,也叫百分号编码。C#有类库

这个百分号编码是依据网页的Viewstate进行编码,然后再稍作处理的吧,那viewstate究竟是怎么形成的呢?

网站会返回这个参数,一般是加密数据,直接抓就行了
解决方案十一:
引用6楼a8496112的回复:

Quote: 引用5楼wjq的回复:
ASP.NET页面里有hidden的viewstateinput,包含一大堆编码过的数据。默认情况下,应该还是可以能够解的开的。但这个是留有重写接口的,所以有可能viewstate是被另外的算法加密过的。

加密倒是没怎么加密过,看起来就是做了一些简单的处理,比如本来Base64的+,变成了%2B,/变成了%2F,=变成了%3D,但是我在想,能不能找出这个Base64的编码规律,然后自己根据需要编一个,然后发送过去

asp.net应用程序服务器端会自动验证这个__ViewState的内容的MD5签名,防止流氓软件从浏览器端篡改它的内容。
解决方案十二:
引用10楼sp1234的回复:

Quote: 引用6楼a8496112的回复:
Quote: 引用5楼wjq的回复:
ASP.NET页面里有hidden的viewstateinput,包含一大堆编码过的数据。默认情况下,应该还是可以能够解的开的。但这个是留有重写接口的,所以有可能viewstate是被另外的算法加密过的。

加密倒是没怎么加密过,看起来就是做了一些简单的处理,比如本来Base64的+,变成了%2B,/变成了%2F,=变成了%3D,但是我在想,能不能找出这个Base64的编码规律,然后自己根据需要编一个,然后发送过去

asp.net应用程序服务器端会自动验证这个__ViewState的内容的MD5签名,防止流氓软件从浏览器端篡改它的内容。

解决方案十三:
__viewstate里面是页面及控件状态值,查看源码就能看到,由服务器发送到客户端时,已经加密,即使能解密,里面也没有你要的数据和ViewState["KEY"]不同,这个里面存有页面级可以访问的数据,可惜是在服务端。没有使用ViewState["KEY"]的页面,也有__viewstate呢
解决方案十四:
__ViewState没有进行什么加密,只是对序列化的内容进行base64编码而已。不过__ViewState内容包括了复杂而完整的控件树的所有状态(随便一个GridView可能就占数万个ViewState单元),每一次输出的内容都有些不一样(服务器端有状态改变),不是那么轻易从浏览器端去乱改的。就算能改了,传给服务器时也会被人家检测出来MD5改变了而报错

时间: 2024-10-24 07:52:34

post之前怎样获取将要打开页面的VIEWSTATE的相关文章

图片-post之前怎样获取将要打开页面的VIEWSTATE

问题描述 post之前怎样获取将要打开页面的VIEWSTATE 我要抓取方正教务系统中的课程表,但是要凭借VIEWSTATE才能post到对应班级的课程表页面, 每个班级课程表的VIEWSTATE不一样,有什么方法获取VIEWSTATE

js获取另一个页面的input值

问题描述 现有一个jsp页面,里面include了A.jsp和B.jsp:现在我想在A页面的js中获取B页面里的某个input的值,该如何处理? 解决方案 解决方案二:既然是include的了话就等于直接在服务器端将两个页面拼在一起了,应该可以直接独到啊解决方案三:应该可以直接读到的,不过要放在include后面.解决方案四:引用2楼hh161151的回复: 应该可以直接读到的,不过要放在include后面. 后面前面都无所谓的,jsp是服务端语言,肯定先于js执行解决方案五:引用2楼hh161

.NET如何获取最上级页面的URL

问题描述 例如我在百度有A页面的搜录A我点击进入后自动调整到B我由B点进C我在C如何获取A 解决方案 解决方案二:上一级用request.Referer获取最上级你需要在session中维护一个List,每次请求都将本次的referer追加进去,就可以得到最上级了.也可以用querystring传递.解决方案三:难道,net就没有一个可以获取最上级的函数么?解决方案四:引用2楼JiaRuoKeYiWeiZuoXi的回复: 难道,net就没有一个可以获取最上级的函数么? 在同一网站内, 还是跨域?

url-给一个页面的URL 如何通过JQUERY获取 这个页面中的最大的一张图片

问题描述 给一个页面的URL 如何通过JQUERY获取 这个页面中的最大的一张图片 给一个页面的URL 如何通过JQUERY获取 这个页面中的最大的一张图片 1.需要先通过JS加载出这个URL获取来的页面的HTML,存放在一个对象中? 2.再从这个对象中取出其中所有的图片,再做比较 首先第一步怎么实现? 然后第二步 解决方案 你的页面跨域没有?是当前浏览器加载的页面还是你自己做了个页面获取url地址指定的内容? 如果是url指定的跨域没有?跨域了不是客户端js能搞得了,跨域获取不到内容. 没跨域

ajax-跪求大神点击一个table内的超链接把这一行的数据传到新打开的页面的table

问题描述 跪求大神点击一个table内的超链接把这一行的数据传到新打开的页面的table 1 <table > 2 <tr> 3 <td>姓名</td> 4 <td>年龄</td> 5 <td>班级</td> 6 </tr> 7 <tr> 8 <td><a ..>张三</a></td> 9 <td>10</td>10

c# webbrowser如何获取新跳转页面的URL?

问题描述 c# webbrowser如何获取新跳转页面的URL? 请问如何获取WEBBROWSER控件跳转的新的URL呢? 假如是百度点进去搜索,那么如何获取跳转的URL呢? 如果是普通的文字链接又要怎么获取呢? 求大大给个例子哈 解决方案 要保留旧窗口的话要去把旧的页面的链接的target改成_blank 在本程序打开新窗口要访问控件的COM接口去抓DWebBrowserEvents ::NewWindow2事件,这个WPF封得太严办不到,得用WinForms的. 解决方案二: 在加载完成后w

如何获取用window.open方法打开的页面的url

问题描述 如何获取用window.open方法打开的页面的url在网站A一页面B(如www.testa.com/test.aspx)用window.open打开另一网站B的页面如:http://www.test.com/test.aspx怎样获在B站页面获取取到网站A的url 解决方案 解决方案二:没人答吗!自顶解决方案三:window.opener.location解决方案四:To:levenwood这样取出的值是空的!因为不是在同一个域下解决方案五:this.Page.RegisterSta

我正用C#编写一个多页面的IE浏览器,谁知道怎么实现打开HTML文件的功能?

问题描述 我正用C#编写一个多页面的IE浏览器,谁知道怎么实现打开HTML文件的功能?我用的是webBrowser控件,实现打开HTML文件并且在我做的IE下浏览的功能... 解决方案 解决方案二:up解决方案三:webBrowser.url="";//Localpathofyourhtmlfile.解决方案四:不知你实现了打开_ablank的也在自己的浏览器中打开了?

mvc 怎么获取菜单页面的ID?

问题描述 mvc 怎么获取菜单页面的ID? 最近在设计权限菜单控制系统,现已实现了对不同角色菜单的展示,每一个菜单中页面的UI动作控制按钮怎么加载?menulist += ' 这个是加载菜单的js脚本, function GetAction(menuId) { var postdata = { MenuId: menuId RoleId:""1"" }; $.post(""/sysManage/GetAction"" post