CET准考证号查询接口与应用

文章目录 (?) [+]

    本文长时间未进行更新,文中所描述的信息可能已发生改变,请谨慎参考。

            2017 年 6 月英语四六级成绩可以在 8 月 22 日上午 9:00 后进行查询,而这次成绩查询与以往不同的是,本次查询的官方渠道只有 中国教育考试网 和 中国高等教育学生信息网 这两个了,原来的 99 宿舍 不知为何这次并没有获取到授权,众所周知,99 宿舍 是支持找回准考证号的,这次没有授权这个功能也就用不了了,这就使得一部分忘记准考证号的同学很蓝瘦了......

    2017年上半年全国大学英语四、六级考试成绩发布通知

            这个时候诸多蹭热点的新闻媒体也纷纷献出“锦囊妙计”,给了一个相同的坑爹的方法,利用 15 位准考证号的格式规律去推演自己的号码,即前 5 位是学校代码,之后 1 位是校区代码,再之后是 2 位年份、 1 位考季、1 位四六级标识,最后是 3 位 考场和 2 位座号,也就说只要今年 6 月在一个学校考的 CET,那前你就可以通过周围的同学得知,可坑爹的就在后 5 位,考完这么长时间早就把考场信息忘得一干二净了,就算只有 50 个考场,每个考场 25 人,也得至少试个几百次吧.....世界那么大,方法总会有的,成绩可以查询不久后网上就有出现一段 js 查询脚本,大概是神人发现了 全国大学英语四、六级考试委员会 的官方 APP 中可以利用身份证查询准考证,便把这个接口抓了出来。

    CET APP

    // 先访问 http://app.cet.edu.cn:7066/baas/app/setuser.do?method=UserVerify ,然后在这个 500 错误页按 F12 键打开开发者选项,在 console 里运行以下代码
    (function(d, s) {
        d.body.appendChild(s = d.createElement('script')).src = 'http://code.jquery.com/jquery-1.9.1.min.js'
    })(document);
    var url = "http://app.cet.edu.cn:7066/baas/app/setuser.do?method=UserVerify";
    var ks_data = {
        "ks_xm": "你的姓名",
        "ks_sfz": "你的身份证号",
        "jb": "1" // 四级为 1,六级为 2
    };
    var postdata = {
        "action": "",
        "params": JSON.stringify(ks_data)
    };
    $.post(url = url, data = postdata, callback = function(data) {
        data = $.parseJSON(data);
        console.log(data);
    });

            这段 js 虽短小精悍,但操作对大多数人还是不太友好的,下面是根据此接口改写的 PHP 版本核心代码。

    <?php
    function curl_request($url, $post) {
        $headers = array(
            "Content-type: application/x-www-form-urlencoded; charset='utf-8'",
            "Host: app.cet.edu.cn:7066",
            "Origin: http://app.cet.edu.cn:7066",
            "Referer: http://app.cet.edu.cn:7066/baas/app/setuser.do?method=UserVerify"
        );
    
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    
        if ($post) {
            curl_setopt($curl, CURLOPT_POST, 1);
            curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post));
        }
    
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $data = curl_exec($curl);
    
        if (curl_errno($curl)) {
            return curl_error($curl);
        }
        curl_close($curl);
        return $data;
    }
    
    echo "<pre>";
    $arr = array("ks_xm" => "你的姓名", "ks_sfz" => "身份证", "jb" => "四六级标识");
    var_dump($arr);
    $json = json_encode($arr);
    $data = array("params"=>$json);
    var_dump(curl_request('http://app.cet.edu.cn:7066/baas/app/setuser.do?method=UserVerify', $data));

            为了方便小伙伴们查询我把它移植到 Z-Blog 上了,可以直接在线查询,传送门在这里---->https://www.lanseyujie.com/query/cet

    CET 准考证号找回


    本文标题:CET准考证号查询接口与应用
    本文链接:https://www.lanseyujie.com/post/cet-exam-registration-numbers-query-interface.html
    版权声明:本文使用「署名 4.0 国际」创作共享协议,转载或使用请遵守署名协议。
    点赞 0 分享 0