1,2,3,零咯,几秒钟心仪的票票就被人抢完了,也不知道是不是人手一部传说中的抢票大杀器,针对上面的情况,所以写了下面的内容,如果分析不到位,欢迎大伙指正。
细节如下:
打开登录口https://dynamic.12306.cn/otsweb/loginAction.do?method=init (网页版入口)
https://dynamic.12306.cn/otsweb/main.jsp (核心入口<------网页版入口)
通常,从12306页面上打开登录页面,地址是https://dynamic.12306.cn/otsweb/loginAction.do?method=init,访问该地址时,加载很多链接.
1.登录
登录过程,需要下面条件:
—-验证码 ——- [GET] https://dynamic.12306.cn/otsweb/passCodeAction.do?rand=sjrand
—————验证码请求过程也可设置上面的cookie(如果上面未设定cookie)
—————构造HTTPS请求(假设只发包,会出现403提示)
—-随机数 ——- [GET] https://dynamic.12306.cn/otsweb/loginAction.do?method=loginAysnSuggest
—————随机数请求完成任务如下:
—————Set-Cookie: JSESSIONID=605B4539EA6825A9650AD6C383363E21; Path=/otsweb
—————Set-Cookie: BIGipServerotsweb=2480144650.62495.0000; path=/
—————随机数在登录时会用到,随意设置会引起”拒绝访问”
——本缓存服务器管理员:wssupport@chinanetcenter.com
——Via:hbts175:8361 (Cdn Cache Server V2.0)
——Generated Fri, 18 Jan 2013 07:05:07 GMT by cache.51cdn.com (Cdn Cache Server V2.0)
—————正常访问,返回结果如下:
—————{“loginRand”:”754〃,”randError”:”Y”}
—-登录验证——- [post] https://dynamic.12306.cn/otsweb/loginAction.do?method=login
整个登录过程如下:
A.先获取验证码
B.再获取随机号
C.POST提交-验证身份
假设分开完成A,B,C请求,还能登录吗?
No.1 —— 验证码
No.2 —— 随机号
No.3 —— POST
熟悉HTTP/HTTPS协议,经常会看到Connection: keep-alive,12306在接受到数据之后,会返回数据给客户端.
如果只是单纯的提交而不接受,会提示403错误.
No.1 验证码(省略)
No.2 随机数(省略)
No.3 验证登录
https://dynamic.12306.cn/otsweb/loginAction.do?method=login
POST /otsweb/loginAction.do?method=login HTTP/1.1
Host: dynamic.12306.cn
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:18.0) Gecko/20100101 Firefox/18.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: https://dynamic.12306.cn/otsweb/loginAction.do?method=init