PHP调用腾讯短信接口做验证码是一种常见的实现方式,可以通过以下步骤完成:
<?php
// 腾讯云短信接口URL
$url = 'https://yun.tim.qq.com/v5/tlssmssvr/sendsms';
// 短信应用的AppID和AppKey
$appid = 'your_appid';
$appkey = 'your_appkey';
// 随机生成一个6位验证码
$code = rand(100000, 999999);
// 手机号码
$phoneNumber = 'your_phone_number';
// 构造请求参数
$params = array(
'tel' => array(
'nationcode' => '86',
'mobile' => $phoneNumber
),
'type' => 0, // 短信类型,0表示普通短信
'msg' => '您的验证码是'.$code.',有效期为5分钟,请尽快验证。'
);
// 生成签名
$time = time();
$random = rand(100000, 999999);
$sign = hash("sha256", "appkey=".$appkey."&random=".$random."&time=".$time."&mobile=".$phoneNumber);
// 构造请求头部
$header = array(
'Content-Type: application/json',
'Authorization: '.$sign
);
// 构造请求数据
$data = array(
'tel' => array(
'nationcode' => '86',
'mobile' => $phoneNumber
),
'type' => 0,
'msg' => '您的验证码是'.$code.',有效期为5分钟,请尽快验证。'
);
// 发送HTTP POST请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
// 解析响应数据
$result = json_decode($response, true);
if ($result['result'] == 0) {
echo '验证码发送成功!';
} else {
echo '验证码发送失败:'.$result['errmsg'];
}
?>
your_appid
和your_appkey
替换为你在腾讯云控制台上创建的短信应用的AppID和AppKey。同时,将your_phone_number
替换为接收验证码的手机号码。$result['result']
的值来判断短信是否发送成功。腾讯云提供了丰富的云服务产品,包括云服务器、云数据库、云存储等,可以根据具体需求选择相应的产品。关于腾讯云短信接口的详细信息,你可以参考腾讯云官方文档:腾讯云短信接口文档。
领取专属 10元无门槛券
手把手带您无忧上云