腾讯云短信

1、建好路由与控制器

2、写俩函数

// curl
function _sendRequest($url, $paramArray, $method = 'POST')
{
        $ch = curl_init();
        if ($method == 'POST')
        {
            $paramArray = is_array( $paramArray ) ? http_build_query( $paramArray, null, '&', PHP_QUERY_RFC3986) : $paramArray;
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $paramArray);
        }
        else
        {
            $url .= '?' . http_build_query( $paramArray, null, '&', PHP_QUERY_RFC3986);
        }
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_TIMEOUT,30);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        if (false !== strpos($url, "https")) {
            // 证书
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,  false);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,  false);
        }
        $resultStr = curl_exec($ch);
        $result = json_decode($resultStr, true);
        if (!$result)
        {
            return $resultStr;
        }
        return $result;
}
// 获取微信签名
function tosign($pa,$param,$pwd)
{
        ksort($param);
        $signStr = $pa."sms.tencentcloudapi.com/?";
        foreach ($param as $key => $value ) {
            $signStr = $signStr . $key . "=" . $value . "&";
        }
        $signStr = substr($signStr, 0, -1);
        $signature = base64_encode(hash_hmac("sha1", $signStr, $pwd, true));
        return $signature;
}

3、控制器使用上述函数

public function SendSms () {
        date_default_timezone_set("PRC");  
        //在 云API密钥 上申请的标识身份 SecretId 入口https://console.cloud.tencent.com/capi
        $SecretId = '';
        //在 云API密钥 上申请的标识身份 SecretKey 
        $SecretKey ='';
        //短信签名内容,使用 UTF-8 编码,必须填写已审核通过的签名
        $Sign= ''; 
        //模板参数, 比如验证码的 数字
        $TemplateParamSet = '';
        //例如:+8613716064444, 其中前面有一个+号 ,86为国家码,
        $mobile='';
        // 模板 ID,必须填写已审核通过的模板 ID 
        $TemplateID='';
        //短信SdkAppid在 [短信控制台](https://console.cloud.tencent.com/smsv2) 添加应用后生成的实际SdkAppid,示例如1400006666。
        $SmsSdkAppid='';

        $Timestamp = time();
        $Nonce = mt_rand(111111,999999);

        $data = array(
            'Action' => 'SendSms',
            'PhoneNumberSet.0'=> $mobile,
            'TemplateID'=> $TemplateID, 
            'Sign'=> $Sign, 	
            'TemplateParamSet.0'=> $TemplateParamSet, 
            'SmsSdkAppid'=> $SmsSdkAppid, 
            'Nonce'=> $Nonce,
            'Region' => 'ap-shanghai',
            'SecretId'=> $SecretId,
            'Timestamp'=> $Timestamp,
            'Version'=> '2019-07-11',
        );

        $qsign=tosign('POST',$data,$SecretKey);
        $data['Signature']=$qsign;
        $target = "https://sms.tencentcloudapi.com/";  
        $result = _sendRequest($target,$data,'POST');
        $req =$result['Response']['SendStatusSet'][0]['Code'];
        if($req == 'Ok')
        {
            // 发送成功
            return true;
        }
}

提交短信请求后的返回值

"SerialNo" => "2106:294534735416105588753536441"
"PhoneNumber" => "手机号"
"Fee" => 1
"SessionContext" => ""
"Code" => "Ok"
"Message" => "send success"
"IsoCode" => "CN"

人已赞赏
demo

PHP身份证中间数字变星号

2021-4-21 11:35:09

demo

文件上传:获取信息

2021-4-21 11:35:53

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索