【12306】登录流程及接口说明

重点:

以下所有涉及带参请求的,都要设置 Content-Type:application/x-www-form-urlencoded或是把参数扔进网址

一、获取验证码图片

url:https://kyfw.12306.cn/passport/captcha/captcha-image

type:post/get

param:

{
    "login_site" : "E",    //非必须(鬼知道这些参数是什么意思)
    "module" : "login",    //非必须
    "rand" : "sjrand",     //非必须
}

result:(类似如下图片)

二、校验验证码

url:https://kyfw.12306.cn/passport/captcha/captcha-check

type:post/get

param:

{
    "login_site" : "E",    //非必须(鬼知道这些参数是什么意思)
    "rand" : "sjrand",     //非必须
    "answer" : "180,110,250,110",    //点击图片的位置
}

result:

{
    "result_message": "验证码校验成功",
    "result_code": "4"
}

answer参数说明

以下图为例:

官方的做法是给图片添加点击监听事件

var code_arr = [];
$("#txx_img").on('click',function(event){
    var x = event.offsetX; //图片点击点x偏移量(从左到右)
    var y = event.offsetY - 30; //图象点击点y偏移量 (从上到下),减30是去掉验证码上提示信息的高度
    code_arr.push( x + ","+ y ); //arr是全局存储验证码点击数据的变量
})

//最后提交时,把数据拼装起来
var answer = code_arr.join(',');

自己测试接口时,可以用微信截图工具计算x,y再拼起来提交,(记住一定要从提示文字下面开始算!!!)

三、用户登录

url:http://kyfw.12306.cn/passport/web/login

type:post/get

param:

{
    "username" : "13622632263",    //必须 用户名
    "password" : "shuishishuishabi",     //必须 密码
    "appid" : "otn",    //必填(鬼知道是啥玩意) 
}

result:

{
    "result_message": "登录失败",
    "result_code": 1
}

下文?没有下文,暂时以失败告终,浏览器账号也登不进去了,不知道是不是被封号了

哪天成了再继续

发布了35 篇原创文章 · 获赞 18 · 访问量 37万+

猜你喜欢

转载自blog.csdn.net/TXX_c/article/details/82315603