觉得发个短信验证码挺简单的,但是之前没写过,就想写一个看看,阿里大于的太贵了,只能用其他平台的数据接口,
第一步:聚合官网登录,注册,网址如下:https://www.juhe.cn/login(登录),https://www.juhe.cn/register(注册)
第二步:申请数据 - 短信 api 服务,网址如下:https://www.juhe.cn/docs/api/id/54,申请数据, 申请的时候送 10 条数据,如果想以后也想用,可以选择现在特价的 9 元 300 条数据.
第三步:进入个人中心,我的数据,选择短信 API 服务,进行认证,待认证完成即可.
第四步:进入个人中心,我的数据,选择短信 API 服务,选择模板,个人选择 "
添加自定义模板 (* 由于您是未实名或个人用户,暂只能使用系统固定的模板和无变量的模板)",设置短信模板.待审核成功即可.
"
第五步:写代码
聚合提供实例代码位置:https://code.juhe.cn/docs/168
请记住以下几个数据:AppKey,模板 ID
[前端代码]
lang="en">
charset="UTF-8">
Document
action="{:U('**'/**)}" method="post">
type="text" name="userphone" required="required">
type="submit" value="提交">
[PHP 代码]
php namespace Home\Controller;
use Think\Controller;
class DxController extends Controller {
//短信接口
public
function send() {
if (IS_POST) {
$phone = I('post.userphone'); //此处应该有验证
header('content-type:text/html;charset=utf-8');
$sendUrl = 'http://v.juhe.cn/sms/send'; //短信接口的URL
$code = rand(0001, 9999); //验证码生成格式,请生成4-8位,数字或字母随机组合
$smsConf = array("key" = >"************", //您申请的APPKEY
"mobile" = >"$phone", //接受短信的用户手机号码
"tpl_id" = >"*****", //您申请的短信模板ID,根据实际情况修改
"tpl_value" = >"#code#=".$code."&#company#=聚合数据" //您设置的模板变量,根据实际情况修改
);
$content = $this - >juhecurl($sendUrl, $smsConf, 1); //请求发送短信
if ($content) {
$result = json_decode($content, true);
$error_code = $result['error_code'];
if ($error_code == 0) {
//状态为0,说明短信发送成功
echo "短信发送成功,短信ID:".$result['result']['sid'];
} else {
//状态非0,说明失败
$msg = $result['reason'];
echo "短信发送失败(".$error_code."):".$msg;
}
} else {
//返回内容异常,以下可根据业务逻辑自行修改
echo "请求发送短信失败";
}
} else {
$this - >display();
}
}
//curl请求
public
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_USERAGENT, 'Mozilla/5.0 (Windows NT 5.1) ApplewebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22');
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
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;
}
}
第六步:短信验证码验证等操作请自行填写,谢谢!
来源: http://www.bubuko.com/infodetail-2467804.html