关于用JAVA模拟登陆的东西实在是没少写,但是一直没有怎么总结过,所以,就三大招聘网站的登录,
也写了不止一次了,昨天又需要写中华英才的模拟登陆,于是仔细整理了一下,并且最大限度的去掉了
不需要的Header信息,使代码尽量简单,于是形成了下面这个模拟登陆的过程,我测试使用的是个人
账号,企业账号应该不会差别很大吧,之前写过一次。
这次写的过程中,在POST的参数的上耗费了不少时间,居然忘记了使用NameValuePair,在表单数据上
居然异想天开的用了HashMap,于是迟迟无法登陆,后来换成了NameValuePair,瞬间就登录了。其他方面
都不是很负责,主要是中华英才的登录流程不是很复杂,只需要将用户名和密码POST到这个地址
http://www.chinahr.com/modules/jsperson/login_ajax.php?noblock=1就可以了,然后访问这个地址
http://www.chinahr.com/modules/jsperson/userinfo_json.php?noblock=1&a=1就是验证是否登录成功了。
在doGet和doPost的这两个函数里面,整体的思路都是围绕request进行的,大致概况就一下三步:
1.初始化request,加入cookie
2.发送request
3.更新cookie
基本上都可以简单的概况为以下三行代码:
POST中稍微有所不同,因为要构造POST表单数据,我的做法是把表单数据用HashMap初始化,
然后在installFormData中使用上面提到的NameValuePair封装。
以下为全部代码,登录成功的话打印出来的数据中将包含“”is_login”:true”,以及用户信息。
blog comments powered by