Maison  >  Article  >  développement back-end  >  Comment implémenter l'authentification par nom réel pour les téléphones mobiles à trois réseaux en PHP

Comment implémenter l'authentification par nom réel pour les téléphones mobiles à trois réseaux en PHP

青灯夜游
青灯夜游original
2022-10-21 18:52:221517parcourir

Méthode de mise en œuvre : 1. Appliquez pour ouvrir l'interface API d'authentification par nom réel du téléphone mobile à trois réseaux et obtenez la clé de demande API ; 2. Utilisez "$params=compact('key','realname','idcard', 'mobile','showid ')" pour combiner les paramètres de la requête ; 3. Faire une requête via "function juhecurl($url,$params=false,$ispost=0){...}", traiter les données et renvoyer le résultat.

Comment implémenter l'authentification par nom réel pour les téléphones mobiles à trois réseaux en PHP

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur DELL G3

Exemple d'appel d'interface API d'authentification par nom réel de téléphone mobile à trois réseaux basé sur PHP

Demandez une interface API d'authentification par nom réel pour téléphone mobile à trois réseaux

Postulez pour ouvrir l'interface via https://www.juhe.cn/docs/api/id/208?s=cpphpcn et obtenez la clé de demande API

Paramètres de la demande

Nom Obligatoire Description
clé is Afficher dans le Centre personnel -> Mes données, au-dessus du nom de l'interface
vrai nom est nom
idcard est Numéro de carte d'identité
mobile est Numéro de téléphone mobile
type Non 1 : Renvoie l'opérateur de téléphonie mobile, si vous n'entrez pas d'autres valeurs, il ne reviendra pas
showid Non 1 : Renvoie le numéro de commande global, si vous n'entrez pas d'autres valeurs, il ne sera pas retourné à
province Non 1 : Retour à l'emplacement du numéro de téléphone mobile, de la province, ville, pas de retour si vous ne le saisissez pas
détail Non S'il faut afficher le code de détails correspondant, passez 1 pour afficher, par défaut n'est pas affiché (Lors de la saisie de 1 dans la version simplifiée, 24 sera retourné)

exemple de code PHP

Si vous devez demander une interface de cryptage, veuillez vous référer à https://www.sdk.cn/details pour la méthode de cryptage /d591E8oY9X9r67veZz

$apiurl="http://v.juhe.cn/telecom/query";//请求地址
$key = "";//32位的KEY
$realname = "";//真实姓名
$idcard="";//身份证号码
$mobile="";//手机号码
$showid=1;//传入返回单号
$params=compact('key','realname','idcard','mobile','showid');//组合请求参数
$content=juhecurl($apiurl,$params);//获取接口返回内容json字符串
$result = json_decode($content,true);//解析成数组
if($result){
    if($result['error_code']=='0'){
      echo $result['result']['res'].':'.$result['result']['resmsg'];       
        #print_r($result);
    }else{
        echo $result['error_code'].":".$result['reason'];
    }
}else{
    echo "请求失败";
}

//网络请求方法
 function juhecurl($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_CONNECTTIMEOUT , 3);
        curl_setopt( $ch, CURLOPT_TIMEOUT , 8);
        curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
        if ($params) {
            if (is_array($params)) {
                $paramsString = http_build_query($params);
            } else {
                $paramsString = $params;
            }
        } else {
            $paramsString = "";
        }   
        if( $ispost )
        {
            curl_setopt( $ch , CURLOPT_POST , true );
            curl_setopt( $ch , CURLOPT_POSTFIELDS , $paramsString);
            curl_setopt( $ch , CURLOPT_URL , $url );
        }
        else
        {
            if($paramsString ){
                curl_setopt( $ch , CURLOPT_URL , $url.'?'.$paramsString);
            }else{
                curl_setopt( $ch , CURLOPT_URL , $url);
            }
        }
        $response = curl_exec( $ch );
        if ($response === FALSE) {
            //echo "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;
}

Return exemple de résultat

{
    "reason": "查询成功",
    "result": {
        "realname": "***",
        "mobile": "***********",
        "idcard": "******************",
        "res": 2,
        "resmsg": "三要素身份验证不一致",
         "type": "移动",
        "orderid":"J201712251904163782Ay",
        "province":"广东省",
        "city" : "惠州市",
        "rescode":"24"
    },
    "error_code": 0
}

Apprentissage recommandé : "

Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn