您好,欢迎访问一九零五行业门户网

php怎么发送短信验证码

发送方法:1、实名认证并开通短信api接口服务,获取api请求key;2、调用接口申请短信模板并等待审核通过;3、调用api接口,通过“function juhehttprequest($url,$params=false,$ispost=0){...}”方式发起网络请求,按照申请的模板发生短信到指定手机号即可。
本教程操作环境:windows7系统、php8.1版、dell g3电脑
基于php的验证码短信api接口调用示例
前期准备
实名认证
根据运营商的要求,目前此接口只对实名认证的企业用户开放使用,所以在使用之前请确保您是实名认证的企业用户
申请接口,获取接口的调用凭证请求key
通过 https://www.juhe.cn/docs/api/id/486?s=cpphpcn 自助申请开通接口
可以在个人中心 ➡️ 数据中心 ➡️ 我的api 模块看到此接口的调用凭证请求key
购买数据的请求次数(免费和有赠送次数的接口可以先行调试)
必须按照文档提供的接口申请模板后,待客服审核通过后才能调用接口
特别说明
请仔细阅读官网的接口文档,这是聚合数据与开发者的约定,它将有助于您对接口业务的理解,从而顺利地开展开发工作
本示例的侧重点,是帮助开发者顺利获取到接口的响应数据,对于开发者的数据处理等业务逻辑,本文不会展开讨论
本示例旨在最大程度简化开发者的调用步骤,没有将功能模块封装为独立的工具类,方便开发者一键复制后直接运行调试
由于水平能力所限,示例中难免存在错误和疏漏,如有发现还请大家批评指正
参数说明
模板申请接口参数:
参数名必填说明
signature true 模板签名(长度为2-16个中文字符),比如:公司名、产品名称
key true 申请的请求key
tplcode true 可供选择的模板id
短信发送接口参数:
参数名必填说明
mobile true 手机号
tpl_id true 模板id
key true 申请的请求key
tpl_value false 模板变量,根据模板中变量决定,可为空
全部代码
模板申请接口请求示例
<?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; }
运行结果
推荐学习:《php视频教程》
以上就是php怎么发送短信验证码的详细内容。
其它类似信息

推荐信息