>  기사  >  백엔드 개발  >  PHP에서 SMS 인증 코드를 보내는 방법

PHP에서 SMS 인증 코드를 보내는 방법

青灯夜游
青灯夜游원래의
2022-10-20 18:43:461459검색

전송 방법: 1. 실명 인증 및 SMS API 인터페이스 서비스를 활성화하여 API 요청 KEY 획득 2. 인터페이스를 호출하여 SMS 템플릿을 신청하고 승인을 기다립니다. 3. API 인터페이스를 호출하고 " function juheHttpRequest($url,$params= false,$ispost=0){...}" 메소드를 사용하여 네트워크 요청을 시작하고, 적용된 템플릿에 따라 지정된 휴대폰 번호로 문자 메시지를 보냅니다.

PHP에서 SMS 인증 코드를 보내는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, DELL G3 컴퓨터

PHP 기반 인증 코드 SMS API 인터페이스 호출 예시

준비

  • 실명인증

운영자의 요구에 따라 현재 이 인터페이스는 실명인증을 사용하는 기업 사용자에게만 공개되고 있으니, 실명인증을 사용하는 기업 사용자인지 확인하신 후 이용하시기 바랍니다

  • 인터페이스를 신청하고 인터페이스 요청 키의 호출 자격 증명을 얻습니다

    https://www.juhe.cn/docs/api/id/486?s=cpphpcn 셀프 서비스 애플리케이션을 통해 인터페이스를 엽니다

    를 통해 개인 센터 ➡️ 데이터 센터 ➡️ 내 API 모듈로 이동하여 호출을 볼 수 있습니다 키를 요청하려면 이 인터페이스의 자격 증명

  • 데이터 구매 요청 횟수(무료 및 무료 인터페이스) 먼저 디버깅할 수 있습니다.)

  • document에서 제공하는 인터페이스에 따라 템플릿을 신청해야 합니다. , 인터페이스는 고객 서비스 검토를 통과한 후에만 호출할 수 있습니다

특별 지침

  • 공식 웹사이트의 인터페이스 문서를 주의 깊게 읽어주세요 이는 집계 데이터와 개발자 간의 계약입니다. . 인터페이스 비즈니스를 이해하고 개발 작업을 원활하게 수행하는 데 도움이 될 것입니다

  • 이 예제의 초점은 개발자가 인터페이스 데이터의 응답을 성공적으로 얻을 수 있도록 돕는 것입니다. 이 기사에서는 데이터 처리와 같은 개발자의 비즈니스 로직에 대해 논의하지 않습니다. . 이 예제는 개발자의 호출 단계를 최대한 단순화하기 위해 설계되었습니다. 기능 모듈을 독립적인 도구 클래스로 캡슐화하여 한 번의 클릭으로 복사 후 직접 실행하고 디버그할 수 있습니다.

  • 제한된 능력으로 인해 예제에 오류나 누락이 있을 수 있습니다. 발견하면 비판하고 수정하세요

  • 매개변수 설명

템플릿 애플리케이션 인터페이스 매개변수:

매개변수 이름필수signaturetruetruetrueSMS 전송 인터페이스 매개변수:
설명
템플릿 서명(길이는 한자 2-16자), 예: 회사 이름, 제품 이름 key
요청 키 적용 tpl코드
선택적 템플릿 ID

매개변수 이름필수mobile truetruetruefalse모든 코드
지침
휴대번호 tpl_id
템플릿 ID key
신청 요청 키 tpl_value
템플릿 변수는 비어 있을 수 있습니다

템플릿 애플리케이션 인터페이스 요청 예시

  <?php
    // 请求的接口URL
    $apiUrl = &#39;http://v.juhe.cn/vercodesms/submitTpl.php?&#39;;    // 请求参数
    $params = [        // 模板签名
        &#39;signature&#39; => &#39;模板签名(长度为2-16个中文字符),比如:公司名、产品名称&#39;,        // 您申请的接口调用Key
        &#39;key&#39; => &#39;您申请的接口调用Key&#39;,        //发送的手机号
        &#39;tplcode&#39; => &#39;可供选择的模板id&#39;,
    ];
    $paramsString = http_build_query($params);    
    // 发起接口网络请求
    $response = null;    try {
        $response = juheHttpRequest($apiUrl, $paramsString, 1);
    } catch (Exception $e) {
        var_dump($e);        //此处根据自己的需求进行自身的异常处理
    }    if (!$response) {        echo "请求异常" . PHP_EOL;
    }
    $result = json_decode($response, true);    if (!$result) {        echo "请求异常" . PHP_EOL;
    }
    $errorCode = $result[&#39;error_code&#39;];    if ($errorCode === 0) {
        $data = $result[&#39;result&#39;];        echo "您申请的模板id:{$data["tplId"]}" . PHP_EOL;
    } else {        // 请求异常
        echo "请求异常:{$errorCode}_{$result["reason"]}" . PHP_EOL;
    }    
    /**
     * 发起网络请求函数
     * @param string $url 请求的URL
     * @param bool $params 请求的参数内容
     * @param int $ispost 是否POST请求
     * @return bool|string 返回内容
     */
    function juheHttpRequest($url, $params = false, $ispost = 0)    {
        $httpInfo = [];
        $ch = curl_init();
    
        curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
        curl_setopt($ch, CURLOPT_USERAGENT, &#39;Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36&#39;);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
        curl_setopt($ch, CURLOPT_TIMEOUT, 12);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);        if ($ispost) {
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
            curl_setopt($ch, CURLOPT_URL, $url);
        } else {            if ($params) {
                curl_setopt($ch, CURLOPT_URL, $url . &#39;?&#39; . $params);
            } 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;
    }

SMS 전송 인터페이스 요청 예시

    <?php
    // 请求的接口URL
    $apiUrl = &#39;http://v.juhe.cn/vercodesms/send?&#39;;
    // 请求参数
    $params = [
        // 模板id
        &#39;tplId&#39; => &#39;模板id&#39;,
        // 您申请的接口调用Key
        &#39;key&#39; => &#39;您申请的接口调用Key&#39;,
        //发送的手机号
        &#39;mobile&#39; => &#39;发送的手机号&#39;,
        //结合自己的模板中的变量进行设置,如果没有变量,可以删除此参数
        &#39;tplValue&#39; => urlencode(&#39;#total#=1000&#used#=100&#balance#=900&#39;),
    ];
    $paramsString = http_build_query($params);
    
    // 发起接口网络请求
    $response = null;
    try {
        $response = juheHttpRequest($apiUrl, $paramsString, 1);
    } catch (Exception $e) {
        var_dump($e);
        //此处根据自己的需求进行自身的异常处理
    }
    if (!$response) {
        echo "请求异常" . PHP_EOL;
    }
    $result = json_decode($response, true);
    if (!$result) {
        echo "请求异常" . PHP_EOL;
    }
    $errorCode = $result[&#39;error_code&#39;];
    if ($errorCode === 0) {
        $data = $result[&#39;result&#39;];
        echo "请求唯一标示:{$data["sid"]}" . PHP_EOL;
    } else {
        // 请求异常
        echo "请求异常:{$errorCode}_{$result["reason"]}" . PHP_EOL;
    }
    
    /**
     * 发起网络请求函数
     * @param string $url 请求的URL
     * @param bool $params 请求的参数内容
     * @param int $ispost 是否POST请求
     * @return bool|string 返回内容
     */
    function juheHttpRequest($url, $params = false, $ispost = 0)
    {
        $httpInfo = [];
        $ch = curl_init();
    
        curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
        curl_setopt($ch, CURLOPT_USERAGENT, &#39;Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36&#39;);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
        curl_setopt($ch, CURLOPT_TIMEOUT, 12);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        if ($ispost) {
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
            curl_setopt($ch, CURLOPT_URL, $url);
        } else {
            if ($params) {
                curl_setopt($ch, CURLOPT_URL, $url . &#39;?&#39; . $params);
            } 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;
    }

실행 결과

PHP에서 SMS 인증 코드를 보내는 방법

추천 학습: "

P HP 비디오 튜토리얼PHP에서 SMS 인증 코드를 보내는 방법"

위 내용은 PHP에서 SMS 인증 코드를 보내는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.