zoukankan      html  css  js  c++  java
  • AndroidHttpClient & jsoup 解析 正方教务系统

    这段时间学习了一下使用jsoup来解析网页,也是看了下学校的正方教务系统,因为这个正方教务系统的各种不爽,不知道为什么还是那么多学校用这个系统呢?每到选课什么的就死啦死啦的,从它的网页上各种命名来看,简直就和我们这些小菜鸟一样o(╯□╰)o

    使用AndroidHttpClient 而不是使用HttpClient,怎么说AndroidHttpClient也是SDK中自带的,基于HttpConnection,所以来说性能上来说应该比较好吧.

    因为不熟悉使用这个强大的工具导致走了很多弯路,浪费了很多时间 ,很多参数没有像new 一个DefaultHttpClient简单,AndroidHttpClient的参数需要手动设置一下才好,比如说我在java 工程中使用的是HttpClient,我也没设置什么参数,直接拿来就用,它内部已经帮我们处理了很多细节问题,像重定向,,有时候我都不知道他重定向干嘛去了,经常获取不到我需要的内容.在Android 工程中 ,使用AndroidHttpClient 默认不会自动重定向,需要手动设置,还有忘记设置各个header导致各种问题.

    此次任务是使用AndroidHttpclient来获取指定网站的数据内容,包括模拟各种post,get等请求.然后交由jsoup工具来解析出我需要的内容,比如课表查询,用户信息,学生成绩等...

    当然在这之前对网站的抓包分析是不可少的,我就使用了最简单的工具,Google浏览器和它自带的工具,特别注意这段中间的一段字符串(24位),搞不懂原理,这个网站怎么抓也抓不到cookie,

    1.首先的登录进去才行,我们知道一般网站都会设置个验证码什么的,所以我就想了各种办法来尝试是否可以直接不要验证码登录呢,可惜太难搞了,还是老老实实自己填写吧,貌似那个叫什么orc的可以自动识别类似的验证码的.

    根据这个验证码地址找到链接,http://jwgl.hstc.edu.cn/(oco15si4snyeb04510vu0045)/CheckCode.aspx  ,直接访问这个就是验证码了,但是我们特别需要获取到中间的那段字符串,它是每次随机产生的,很像cookie的工作,后面的访问都需要这段,

    一开始我是直接固定了一段24位的字符串给他,也能正常登陆进去,但是获取各种信息的时候就不能了.所以还得从访问http://jwgl.hstc.edu.cn/CheckCode.aspx这个地址后会重定向到一段新的地址,这个地址中间就有了24位字符串了.然后根据这个字符串加入首页来模拟登陆. 使用AndroidHttpClient获取到这个网址的响应内容,经过重定向后得到一个InputStream,然后让它显示到ImageView上,我在测试的时候经常接收不到响应的输入流,可能是哪里出问题了,在2.3系统上跑还很正常,在4.2上就经常没内容了.

    然后还是各种用户输入登录的过程了.

    代码就不贴了,放上连接,目前该项目正在进行中,欢迎各位前来指导.

  • 相关阅读:
    插入排序实现
    冒泡排序的实现
    选择排序的实现方法
    实现文字的竖排
    一个实体类的定义
    将字符串中的非字母数字,转化为ascii码输出
    根据员工入职时间和合同期计算下一次合同签订时间
    centos安装java的问题解决
    弓箭射小人
    Nature & Science 20102011年全部期刊下载链接
  • 原文地址:https://www.cnblogs.com/act262/p/3705737.html
Copyright © 2011-2022 走看看