12306之登录流程解析

发表于:2018-2-08 11:09

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Whyn    来源:51Testing软件测试网采编

分享:
  4.下面会访问uamtk页面,主要为了获取一个newapptk键值,抓包如下:
  response
  5.成功获取newapptk后,我们就可以访问uamauthclient页面,抓包如下:
  uamauthclient
  前面说要获取newapptk,是因为这个页面需要提交这个参数:
  form Data
  最后,看下这个页面返回的结果:
  response
  当返回结果的 result_code=0时,表明请求成功,请求成功或失败的结果可以从键 result_message 中获取。
  之所以要访问到这个页面,是因为这个服务器会下发一个新的 Cookie,后续的查询或者订单提交请求都必须使用这个更新的 Cookie。
  因此,到这里,整个登录流程才结束。
  ●第二套接口(一般在早上短暂出现)
  1.验证码图片获取接口分析,抓包结果如下图所示:
  getPassCodeNew
  可以看到,验证码图片的获取接口变为了:
  https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew?module=login&rand=sjrand&{random}
  其参数为:
  params
  跟第一套方案相比就少了个键值:login_site:E
  2.接下来,同样是先对验证码进行检测,抓包如下:
  checkRandCodeAnsyn
  可以看到,验证码检测接口变为了:
  https://kyfw.12306.cn/otn/passcodeNew/checkRandCodeAnsyn
  参数如下所示:
  form Data
  最后看下返回结果:
  response
  当验证码验证成功后,就会真正走登录接口,抓包如下:
  loginAysnSuggest
  可以看到,接口为:
  https://kyfw.12306.cn/otn/login/loginAysnSuggest
  看下其携带的参数内容:
  form Data
  最后,看下返回内容:
  response
  这样,第二套登录接口流程就已经走完了。
  用户注销流程分析
  无论是对于第一套登录接口,还是第二套登录接口,都可以用一套用户注销接口。
  用户注销接口主要包含3个请求:
  1.loginOut 过程,抓包如下:
  loginOut
  其接口为:
  https://kyfw.12306.cn/otn/login/loginOut
  就是一个普通的Get请求,没有携带参数,也不用关心返回值。
  2.init 流程,抓包如下:
  init
  其接口为:
  https://kyfw.12306.cn/otn/login/init
  就是一个普通的Get请求,没有携带参数,也同样不用关心返回值。但注意的是这里服务器会返回一个 Cookie。
  3.uamtk 流程,抓包如下:
  image.png
  其接口为:
  https://kyfw.12306.cn/passport/web/auth/uamtk
  这是一个Post请求,因此,我们来看下参数:
  form Data
  参数就是一个appid,其固定值为otn。
  最后,我们需要得到其返回结果,来得知注销的结果:
  response
  以上,就是整个注销过程。
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号