zoukankan      html  css  js  c++  java
  • 网贷黑名单查询接口开发 网贷黑名单信息查询系统开发

        网贷黑名单查询接口,调用大数据公司的数据,使用各自的语言开发即可。都是调用的api接口。下面给大家看几个案例。如何开发这样的网贷黑名单查询系统的。

         网贷接口都是使用的相应的数据接口,按照他们提供的demo开发即可。

    <<?php
    //探知数据-学信数据demo
    //命令行方式运行:
    //    windows操作系统运行命令为"php.exe demo_xuexin.php";
    //    linux操作系统运行命令为"php demo_xuexin.php"
    
    //探知数据api服务器的url
    $apiUrl         = "http://api.tanzhishuju.com/api/gateway";
    //系统分配的apiKey,请用您的apiKey
    $apiKey         = "";
    //系统分配的secret,请用您的secret
    $apiSecret      = "";
    //探知api的version,目前为1.0.0
    $version        = "1.0.0";
    
    $res = submitTask();
    var_dump($res);
    if ($res["code"] == "0010"){     //表示任务提交成功
        $token = $res["token"];
        while(true){
            $statusResult = checkSatues($token);
            var_dump($checkSatues);
            //任务出错终止
            if("" !== $statusResult["code"] && "0" !== $statusResult["code"][0]){
                echo "
    状态码查询失败,请根据状态码检查错误原因,然后重试
    ";
            var_dump($statusResult);
            exit(1);
            }
            
            //根据状态码处理
            switch ($statusResult["code"]){
                case "0000":
                    echo "获取银行流水数据成功";
                    $statusResult = getReult($token);
                    var_dump($statusResult);
                    exit(1);
               case "0001":
                       echo "
    请把账户对应的手机号收到的短信验证码输入到命令行,然后按回车确认
    ";
                       fscanf(STDIN, "%s
    ", $smsCode);
                    $statusResult = sendAuthCode($token,$smsCode);
                    var_dump($statusResult);
                    if($statusResult["code"] == "0009"){
                        echo "写入成功";
                        sleep(5);
                        break;
                    }else{
                        echo "验证码写入失败,任务终止,请根据code值查找原因";
                        exit(1);
                    }
              default:
                    var_dump($statusResult);
                   break;
            }
            sleep(5);
        }
    }
    
    /*公用函数开始*/
    //初始化请求参数
    function initParams($method){
        global $apiKey, $version;
        return array("apiKey" => $apiKey, "version" => $version,"method" => $method);
    }
    
    //生成加密校验的请求报文
    function getParamsString($params){
        global $apiSecret;
        //计算签名
        $paramsSign = $params;
        //按照key排序
        ksort($paramsSign);
        //加密获取sign,对该字符串进行 SHA-1 计算,得到签名,并转换成 16 进制小写编码
        $sign=sha1(urldecode(http_build_query($paramsSign) .$apiSecret ));
        //设置请求参数
        $params['sign'] = $sign;
        return http_build_query($params);
    }
    //发起http请求,然后将结果用json解析
    function httpQuery($params){
        global $apiUrl;
        $paramsString = getParamsString($params);
        $content = curl($apiUrl, $paramsString, 1);
        var_dump($content);
        return json_decode($content, true);
    }
    //提交任务
    function submitTask(){
        $params = initParams("api.bankstatement.debitcard"); //储蓄卡提交任务,信用卡请参考文档
        $params["bankType"] = "CMB";
        $params["mobile"] = "";
        $params["name"] = "";
        $params["idCard"] = "";
        $params["account"] = "";
        $params["password"] = base64_encode("");
        $params["month"] = "6";
        $params["bankCard"] = "";
        $params["card_type"] = "debit";
        return httpQuery($params);
    }
    //查询状态
    function checkSatues($token){
        $params = initParams("api.common.getPollingStatus");
        $params["token"] = $token;
        return httpQuery($params);
    }
    //将待查手机号收到短信验证码发送给探知api
    function sendAuthCode($token,$smsCode){
        $params = initParams("api.captcha.send");
        $params["token"] = $token;
        $params["captcha"] = $smsCode;
        $params["version"] = "2.0.0";
        return httpQuery($params);
    }
    
    //获取结果数据
    function getReult($token){
        $params = initParams("api.common.getResult");
        $params["bizType"] = "bankstatement";
        $params["token"] = $token;
        return httpQuery($params);
    }
    //curl功能
    function curl($url, $params=false, $ispost=0){
        $httpInfo = array();
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
        curl_setopt($ch, CURLOPT_USERAGENT, 'tanzhishuju.com');
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
        curl_setopt($ch, CURLOPT_TIMEOUT, 60);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        if( $ispost ){
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
            curl_setopt($ch, CURLOPT_URL, $url);
        }else{
            if($params){
                curl_setopt($ch, CURLOPT_URL, $url.'?'.$params);
            }else{
                curl_setopt($ch, CURLOPT_URL, $url);
            }
        }
        $response = curl_exec($ch);
        if ($response === FALSE){
            myEcho("cURL Error: " . curl_error($ch));
            return false;
        }
        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        $httpInfo = array_merge($httpInfo, curl_getinfo($ch));
        curl_close($ch);
        return $response;
    }
    
    /*公用函数结束*/
    
    ?>>

    我,秋峰,phper、java后端开发,目前自创业,做项目系统开发,做公众号以及小程序等的开发, 今天就给大家分享到这里,希望对大家有所帮助。欢迎交流 大家相互学习 共同提高 我的 微信号:qiufeng2999

  • 相关阅读:
    第五周作业
    2019春第四周作业编程总结
    2019春第四周作业
    2019春第二周作业编程总结
    2019春第一周作业编程总结
    自我认识
    对我影响最大的三位老师
    C语言I博客作业04
    C语言I博客作业03
    C语言I博客作业02
  • 原文地址:https://www.cnblogs.com/xinweiyun/p/10307430.html
Copyright © 2011-2022 走看看