How to send SMS verification code in php
Sending method: 1. Real-name authentication and activate SMS API interface service, obtain API request KEY; 2. Call the interface to apply for SMS template and wait for approval; 3. Call the API interface, through "function juheHttpRequest($url ,$params=false,$ispost=0){...}" to initiate a network request, and send a text message to the specified mobile phone number according to the applied template.
The operating environment of this tutorial: Windows 7 system, PHP version 8.1, DELL G3 computer
PHP-based verification Code SMS API interface calling example
Preliminary preparation
Real-name authentication
According to the requirements of the operator, this interface is currently only open to real-name authenticated enterprise users, so please make sure you are a real-name authenticated enterprise user before using it
-
Apply for the interface and obtain the calling credential request key of the interface through
https://www.juhe.cn/docs/api/id/486?s=cpphpcnSelf-service application to open the interface
You can see the call certificate request key of this interface in Personal Center ➡️ Data Center ➡️ My API module
The number of requests to purchase data (free and gifted times) The interface can be debugged first) - You must apply for a template according to the interface provided in the
- document
, and the interface can only be called after the customer service review and approval
Special Instructions
- Please read the
- Interface Document
of the official website carefully, this is the aggregation data and development It will help you understand the interface business and carry out development work smoothly
The focus of this example is to help developers successfully obtain the response of the interface Data, for developers' data processing and other business logic, this article will not discuss - This example aims to simplify the developer's calling steps to the greatest extent, and does not encapsulate the functional modules into independent Tool class, which is convenient for developers to copy and run and debug directly with one click
- Due to limited ability, there are inevitably errors and omissions in the examples. If you find any, please criticize and correct them
Parameter descriptionTemplate application interface parameters:
Required | Description | |
---|---|---|
true | Template signature (The length is 2-16 Chinese characters), such as: company name, product name | |
true | Apply request key | |
true | Optional template id |
Required | Description | |
---|---|---|
Mobile number | tpl_id | |
template id | key | |
Applying request key | tpl_value | |
Template variables, determined by variables in the template, can be empty |
Template application interface request example
<?php // 请求的接口URL $apiUrl = 'http://v.juhe.cn/vercodesms/submitTpl.php?'; // 请求参数 $params = [ // 模板签名 'signature' => '模板签名(长度为2-16个中文字符),比如:公司名、产品名称', // 您申请的接口调用Key 'key' => '您申请的接口调用Key', //发送的手机号 'tplcode' => '可供选择的模板id', ]; $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['error_code']; if ($errorCode === 0) { $data = $result['result']; 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, 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36'); 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 . '?' . $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 // 请求的接口URL $apiUrl = 'http://v.juhe.cn/vercodesms/send?'; // 请求参数 $params = [ // 模板id 'tplId' => '模板id', // 您申请的接口调用Key 'key' => '您申请的接口调用Key', //发送的手机号 'mobile' => '发送的手机号', //结合自己的模板中的变量进行设置,如果没有变量,可以删除此参数 'tplValue' => urlencode('#total#=1000&#used#=100&#balance#=900'), ]; $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['error_code']; if ($errorCode === 0) { $data = $result['result']; 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, 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36'); 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 . '?' . $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; }
Recommended learning: "PHP Video Tutorial
The above is the detailed content of How to send SMS verification code in php. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.
