当前位置:编程学习 > wap >>

httpclient模拟正方教务系统登录后无法请求到查询页面

    最近的课程设计需要用到正方教务系统上的一些数据,需要模拟登陆正方教务系统,现在已经完成了用账号、密码、验证码模拟登陆上了学校的正方教务系统,但是在登陆后要请求查询页面的时候用get请求返回302(出现location为空),跟用HttpAnalyzer分析到的在浏览器上操作的不一样,返回的是200并且没有跳转。
    cookie有传过去了,还是出现了这个问题。查询页面需要传递中文参数,不知道是不是传递中文参数时候出了问题
httpclient cookie java --------------------编程问答-------------------- 楼主大几?. --------------------编程问答-------------------- 怎么问了这么一个问题 --------------------编程问答--------------------
引用 1 楼 XinRuZhiShui196 的回复:
楼主大几?.
这个问题的意义是? --------------------编程问答-------------------- post传中文一般是不会存在问题的,但如果是get,那就
URLEncoder.encode(arg0)
试一下。 --------------------编程问答--------------------
引用 4 楼 a105865708 的回复:
post传中文一般是不会存在问题的,但如果是get,那就
URLEncoder.encode(arg0)
试一下。

现在是post得到的页面不是想要的页面 传递不同的参数进去都是自动指向另外一个相同的页面 传递的一个主要参数是一个下拉选项菜单中的value值,这个值改变的时候应该会跳转到不同的页面,但是现在怎么post都是一个页面 
还有一个问题就是:当我来到这个准备选择下拉菜单的页面的时候,我用httpclient post得到的页面html内容里面,该下拉菜单的选项顺序,跟我用浏览器来到这个页面上的html内容里面的下拉选线顺序不一致。。。。不知道这样算不算是模拟失败了。。。 --------------------编程问答-------------------- 楼主问题解决没啊?求代码啊。 --------------------编程问答--------------------
引用 5 楼 d6619309 的回复:
Quote: 引用 4 楼 a105865708 的回复:

post传中文一般是不会存在问题的,但如果是get,那就
URLEncoder.encode(arg0)
试一下。

现在是post得到的页面不是想要的页面 传递不同的参数进去都是自动指向另外一个相同的页面 传递的一个主要参数是一个下拉选项菜单中的value值,这个值改变的时候应该会跳转到不同的页面,但是现在怎么post都是一个页面 
还有一个问题就是:当我来到这个准备选择下拉菜单的页面的时候,我用httpclient post得到的页面html内容里面,该下拉菜单的选项顺序,跟我用浏览器来到这个页面上的html内容里面的下拉选线顺序不一致。。。。不知道这样算不算是模拟失败了。。。


模拟一个请求,除了post过去的参数外,head也很重要。如果你不能去后台调式,建议你再比较下你的head跟浏览器传过去的head的区别。
至于你的第二个问题,我也不知道为什么。如果你有了答案也告诉我一下。 --------------------编程问答-------------------- 不知道楼主是用哪个版本 4.0以上 网络操作都要写在线程里面 --------------------编程问答--------------------
引用 8 楼 u012536244 的回复:
不知道楼主是用哪个版本 4.0以上 网络操作都要写在线程里面

用的是3.1的版本来的 你说的是写在线程里应该是在android里面才要的吧?普通Java程序应该不用吧? --------------------编程问答--------------------
引用 7 楼 a105865708 的回复:
Quote: 引用 5 楼 d6619309 的回复:

Quote: 引用 4 楼 a105865708 的回复:

post传中文一般是不会存在问题的,但如果是get,那就
URLEncoder.encode(arg0)
试一下。

现在是post得到的页面不是想要的页面 传递不同的参数进去都是自动指向另外一个相同的页面 传递的一个主要参数是一个下拉选项菜单中的value值,这个值改变的时候应该会跳转到不同的页面,但是现在怎么post都是一个页面 
还有一个问题就是:当我来到这个准备选择下拉菜单的页面的时候,我用httpclient post得到的页面html内容里面,该下拉菜单的选项顺序,跟我用浏览器来到这个页面上的html内容里面的下拉选线顺序不一致。。。。不知道这样算不算是模拟失败了。。。


模拟一个请求,除了post过去的参数外,head也很重要。如果你不能去后台调式,建议你再比较下你的head跟浏览器传过去的head的区别。
至于你的第二个问题,我也不知道为什么。如果你有了答案也告诉我一下。

head的话 也是用抓包工具看了 然后在get和post请求的时候设置了header再去请求的,不知道到底是哪里的问题。。。。
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,