• 关于短信功能开发说明通用版流程说明(不限开发语言)


    1.这里以腾讯云为例(php版本),其他平台的也都是类似(例如阿里云),有的平台有自己规则(看平台的具体说明)

     完整sdk文件,官方的缺少文件下载:https://download.csdn.net/download/mo3408/85534634

    如果出现后面调用报错,请下载cacert.pem这个文件放置php安装目录,修改当前php版本的php.ini文件

    curl.cainfo =D:\phpstudy_pro\Extensions\php\cacert.pem(修改成你自己的路径)

    证书问题

    如果您的 PHP 环境证书有问题,可能会遇到报错,类似于cURL error 60: See http://curl.haxx.se/libcurl/c/libcurl-errors.html,请尝试按以下步骤解决:

    1. 到 https://curl.haxx.se/ca/cacert.pem 下载证书文件cacert.pem,将其保存到 PHP 安装路径下。
    2. 编辑php.ini文件,删除curl.cainfo配置项前的分号注释符(;),值设置为保存的证书文件cacert.pem的绝对路径。
    3. 重启依赖 PHP 的服务。

    2.首先增加访问权限(阿里云也是一样)

           已在访问管理控制台 >API密钥管理页面获取 SecretID 和 SecretKey。

    • SecretID 用于标识 API 调用者的身份。
    • SecretKey 用于加密签名字符串和服务器端验证签名字符串的密钥,SecretKey 需妥善保管,避免泄露

    3.购买短信包(根据自己需求购买)

    4.最重要的一步申请短信签名和短信模板,根据应用场景申请,例如用户登录短信验证码申请等(多写一些,不然可能不会通过)

    5.将下载的sdk引入项目(如何引入这里不具体说明,根据项目的需求引入)

    6.可以写个公共发送的方法(修改如下方法)

    <?php
    require_once '/path/to/vendor/autoload.php';
    // 导入对应产品模块的client
    use TencentCloud\Cvm\V20170312\CvmClient;
    // 导入要请求接口对应的Request类
    use TencentCloud\Cvm\V20170312\Models\DescribeInstancesRequest;
    use TencentCloud\Cvm\V20170312\Models\Filter;
    use TencentCloud\Common\Exception\TencentCloudSDKException;
    use TencentCloud\Common\Credential;
    // 导入可选配置类
    use TencentCloud\Common\Profile\ClientProfile;
    use TencentCloud\Common\Profile\HttpProfile;
    
    try {
        // 实例化一个证书对象,入参需要传入腾讯云账户secretId,secretKey
        $cred = new Credential("secretId", "secretKey");
    
        // 实例化一个http选项,可选的,没有特殊需求可以跳过
        $httpProfile = new HttpProfile();
        // 配置代理
        // $httpProfile->setProxy("https://ip:port");
        $httpProfile->setReqMethod("GET");  // post请求(默认为post请求)
        $httpProfile->setReqTimeout(30);    // 请求超时时间,单位为秒(默认60秒)
        $httpProfile->setEndpoint("cvm.ap-shanghai.tencentcloudapi.com");  // 指定接入地域域名(默认就近接入)
    
        // 实例化一个client选项,可选的,没有特殊需求可以跳过
        $clientProfile = new ClientProfile();
        $clientProfile->setSignMethod("TC3-HMAC-SHA256");  // 指定签名算法(默认为HmacSHA256)
        $clientProfile->setHttpProfile($httpProfile);
    
        // 实例化要请求产品(以cvm为例)的client对象,clientProfile是可选的
        $client = new CvmClient($cred, "ap-shanghai", $clientProfile);
    
        // 实例化一个cvm实例信息查询请求对象,每个接口都会对应一个request对象。
        $req = new DescribeInstancesRequest();
    
        // 填充请求参数,这里request对象的成员变量即对应接口的入参
        // 你可以通过官网接口文档或跳转到request对象的定义处查看请求参数的定义
        $respFilter = new Filter();  // 创建Filter对象, 以zone的维度来查询cvm实例
        $respFilter->Name = "zone";
        $respFilter->Values = ["ap-shanghai-1", "ap-shanghai-2"];
        $req->Filters = [$respFilter];  // Filters 是成员为Filter对象的列表
    
        // 通过client对象调用DescribeInstances方法发起请求。注意请求方法名与请求对象是对应的
        // 返回的resp是一个DescribeInstancesResponse类的实例,与请求对象对应
        $resp = $client->DescribeInstances($req);
    
        // 输出json格式的字符串回包
        print_r($resp->toJsonString());
    
        // 也可以取出单个值。
        // 你可以通过官网接口文档或跳转到response对象的定义处查看返回字段的定义
        print_r($resp->TotalCount);
    }
    catch(TencentCloudSDKException $e) {
        echo $e;
    }

    7.测试发送就可以了

  • 相关阅读:
    数论小结转载
    hdu 3792 二分
    求N的所有因子(约数)
    整数划分 --- 一个老生长谈的问题 动态规划
    hdu 1541 Stars poj 1195 Mobile phones(二维) poj 2155 Matrix(二维) hdu 3584 Cube(三维) 树状数组
    zoj 3175 Number of Containers
    asp.netMVC中权限控制论
    asp.net下使用Cookie保存登录信息
    asp.netMVC中实现分页方法
    asp.net异步上传
  • 原文地址:https://www.cnblogs.com/mo3408/p/16321988.html
Copyright © 2020-2023  润新知