安卓HttpClient+Jsoup+Httpwatch模拟登陆正方教务获取信息.doc

安卓HttpClient+Jsoup+Httpwatch模拟登陆正方教务获取信息.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
安卓HttpClientJsoupHttpwatch模拟登陆正方教务获取信息

安卓HttpClient+Jsoup+Httpwatch模拟登陆正方教务获取信息 分类: HYPERLINK /article/%09%09http://catalog/p-246025.html android ?|? 标签: 安卓,爬虫 ?|? 作者: u013082133 HYPERLINK /article/%09%09http://relative/p-1671535.html \t _blank 相关 ?|? 发布日期 : 2014-10-03 ?|? 热度 : 1107° 目录 HYPERLINK /article/p-1671535.html \l # \o 展开 [+] 之前想要写一下关于爬数据的文章的,发现时间有点急迫。所以今天在期末考试之前写完跟大家分享一下的我的心得,先上之前的图。 今天我也以正方教务体统抓取成绩的例子来给大家讲解,第一次写博客,可能会写的不会,还请大家谅解,不过保证大家看的懂,请耐心看完。 好了,下面开始!!! 第一步:登陆你们的教务,这是我们学习的教务的主页/,进去之后,打开httpWatch,至于没用过的话,自己去研究下,因为里面有将我们需要的Post参数和Post地址都归纳出来的,很好用。如图: 点击左边的红点Record进行录制,然后点击登录按钮。 进去之后你会看见HttpWatch刷刷的,出来一大片数据,当然我们的从当中挑选出有用的数据。 如图,我们打开上栏中的第一列标签,就是横线的地方。首先我们来观看下数据,请求方法:post,状态值:302,请求的URL:/default2.aspx。 然后,我们来观察下面大圈圈中的数据,这里是Post所带的参数,里面有__ViewStat(我也不知道是什么,不过一起带着Post就好了,这里有个情况,我等会在下面讲,先用绿色标记),Button的值(乱码),lbLanguage(不管,先记下),RadioButtonList1(单选按钮:学生...),TextBox1:账号,TextBox2:密码。Ok....... 下面我们来看一下Button和lbLanguage和RadioButtonList1具体的值,下面的标签打开Stream,如图: 看,里面有一些不认识的参数的值。Button= ,lbLanguage=,RadioButtonList1=%D1%A7%C9%FA,哦了。 大家也可以看看其他标签下的内容,比如Cookies(比较重要),Content呀什么的。。 那么在代码里怎么体现呢,我们先看Post模拟登陆的这一步。 //第一个URL,等着为后面服务 public static final String login_url = ; //第一个Post模拟登陆的URL public static final String login_url2 = /default2.aspx; HttpPost httpPost = new HttpPost(login_url2); //建立一个Post请求,第一步的方法是Post方法嘛 //禁止重定向,由于刚刚Post的状态值是重定向,所以我们要去禁止它,不然网页会乱飞。? httpPost.getParams().setParameter(ClientPNames.HANDLE_REDIRECTS, false); //设置头部信息(头部信息在刚刚的Httpwatch下面Headers标签会有,不过我感觉写多跟写少没多大区别,只是多写没有坏处吧。) httpPost.setHeader(User-Agent, Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko); httpPost.setHeader(Content-Type,application/x-www-form-urlencoded); //第一种模拟登陆传值 ListNameValuePair params = new ArrayListNameValuePair(); //将刚刚获取到的值添加到List的中 params.add(new BasicNameValuePair(__VIEWSTATE,dDwtMTIwMTU3OTE3Nzs7PsvpgBGP9UryEzGkfCRBEu734TJ/)); //params.add(new BasicNameValuePair(__VIEWSTATE, /wEPDwUJNDcyMzA1MjkxZGRTx3lVi2lf6h+y/PVVH1qMZzouJg==)); //params.add(new BasicNameValuePair(__EVENTVALIDATIO

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档