一直想爬取HDOJ的信息,想整理一张比赛排行榜,但是弄了很久,一直登陆不上,获取不了想要的信息。poj的获取一点问题没有。
然后就找了一个Vjudege的源码,看人家是怎么处理的,发现,只是post在Google浏览器查看到的属性是不能满足登陆的,它只是登陆信息的一部分,那一部分应该是放到session里面的信息,还有一部分放到Parameter里面作为请求参数,这些参数是在浏览器url中显示出来的,所以,登陆的时候需要把这些信息也要加上。
综上,一些用java Httpclient实现的自动登录程序,失败的原因,多数是因为post参数不全造成的,需要去找到必要的所有属性从而实现自动登录。
具体实现方式,见博客其他文章。