찾다
백엔드 개발PHP 문제PHP에서 SMS 인증 코드를 보내는 방법

전송 방법: 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으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)