前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >腾讯云短信接口服务

腾讯云短信接口服务

原创
作者头像
聚优云惠
修改于 2019-12-27 02:21:37
修改于 2019-12-27 02:21:37
22.4K00
代码可运行
举报
文章被收录于专栏:建站教程建站教程
运行总次数:0
代码可运行

做个小程序需要发送验证码短信接口是腾讯云的。了解官方的sdk和demo发现对于我这种浅层次的人来说太麻烦了,然后就从网上找了一版。短信服务开通可以访问 腾讯云短信服务

开发准备

1. 申请 SDK AppID 以及 App Key: 在开始本教程之前,您需要先获取 SDK AppID 和 App Key,如您尚未申请,请到 短信控制台 中添加应用。应用添加成功后您将获得 SDK AppID 以及 App Key。

注意: SDK AppID 是以 14xxxxx 开头。

2. 申请签名: 下发短信必须携带签名,您可以在短信 控制台 中申请短信签名

3. 申请模板: 下发短信内容必须经过审核,您可以在短信控制台中申请短信模板

完成以上三项便可开始代码开发。

详情咨询:https://cloud.tencent.com/document/product/382/13613

Java版本SDK下载:腾讯云短信SDK下载以及文档查看

需要的依赖

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        <dependency>
            <groupId>com.qcloud</groupId>
            <artifactId>qcloud-java-sdk</artifactId>
            <version>2.0.1</version>
        </dependency>

当然你也需要去腾讯云注册APPID和appkey,选择所需要的模板,单发或者群发,我的是单发指定模板的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import com.qcloud.Utilities.Json.JSONObject;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
import java.util.List;
import java.util.Random;

public class TencentSmsSender {
    Random random = new Random();
    int sdkappid ;
    String appkey;
    // 请根据我们的说明文档适时调整 url
    final String url = "https://yun.tim.qq.com/v3/tlssmssvr/sendsms";


    public TencentSmsSender(int sdkappid, String appkey) {
        this.sdkappid = sdkappid;
        this.appkey = appkey;
    }


    //        "sign": "腾讯云", //短信签名,如果使用默认签名,则可以缺省此字段
    public String  sendMsg(String nationCode, String phoneNumber, String content) {
        long rnd = random.nextInt(999999) % (999999 - 100000 + 1) + 100000;
        String wholeUrl = String.format("%s?sdkappid=%d&random=%d", url, sdkappid, rnd);
        String pnum = null;
        try {
            URL object = new URL(wholeUrl);
            HttpURLConnection con = (HttpURLConnection) object.openConnection();
            con.setDoOutput(true);
            con.setDoInput(true);
            con.setRequestProperty("Content-Type", "application/json");
            con.setRequestProperty("Accept", "application/json");
            con.setRequestMethod("POST");
            JSONObject data = new JSONObject();
            JSONObject tel = new JSONObject();
            tel.put("nationcode", nationCode);
            String phone = phoneNumber;
            tel.put("phone", phone);
            data.put("type", "0");
            data.put("tpl_id", );//正文ID
            pnum = String.valueOf(rnd);
            List<String> places = Arrays.asList(pnum, "5");随机生成6位数,间隔5分钟
            data.put("params", places);

            String sig = stringMD5(appkey.concat(phone));
            data.put("sig", sig);
            data.put("tel", tel);
            //data.put("sign", "");
            data.put("extend", "");
            data.put("ext", "");

            OutputStreamWriter wr = new OutputStreamWriter(con.getOutputStream(), "utf-8");
            wr.write(data.toString());
            wr.flush();
            // 显示 POST 请求返回的内容
            StringBuilder sb = new StringBuilder();
            int HttpResult = con.getResponseCode();
            if (HttpResult == HttpURLConnection.HTTP_OK) {
                BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(), "utf-8"));
                String line = null;
                while ((line = br.readLine()) != null) {
                    sb.append(line + "\n");
                }
                br.close();
                System.out.println("" + sb.toString());
            } else {
                System.out.println(con.getResponseMessage());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        return pnum;
    }


    private static String stringMD5(String input) throws NoSuchAlgorithmException {
        MessageDigest messageDigest = MessageDigest.getInstance("MD5");
        byte[] inputByteArray = input.getBytes();
        messageDigest.update(inputByteArray);
        byte[] resultByteArray = messageDigest.digest();
        return byteArrayToHex(resultByteArray);
    }

    private static String byteArrayToHex(byte[] byteArray) {
        char[] hexDigits = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
        char[] resultCharArray = new char[byteArray.length * 2];
        int index = 0;
        for (byte b : byteArray) {
            resultCharArray[index++] = hexDigits[b >>> 4 & 0xf];
            resultCharArray[index++] = hexDigits[b & 0xf];
        }
        return new String(resultCharArray);
    }

    public static void main(String[] args) {


    }

}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
暂无评论
推荐阅读
编辑精选文章
换一批
小程序腾讯云短信接口服务
做个小程序需要发送验证码,短信接口是腾讯云的。了解官方的sdk和demo发现对于我这种浅层次的人来说太麻烦了,然后就从网上找了一版.
用户5907943
2019/07/26
37.6K1
腾讯云短信 nodejs 接入, 通过验证码修改手机示例
腾讯云短信 nodejs 接入, 通过验证码修改手机示例 参考: 腾讯云短信文档 国内短信快速入门 qcloudsms Node.js SDK 文档中心>短信>错误码 nodejs sdk 使用示例 const QcloudSms = require('qcloudsms_js'); const cfg = { appid: 1400123123, // SDK AppID 以1400开头 appkey: '...', // 短信应用 SDK AppKey templateId: 40279
用户1659066
2019/08/23
12.5K2
手把手教你使用腾讯云短信服务——开发者视角
SDKAPPID即短信应用ID,用以区分用户腾讯云账号下不同业务,很多用户会把这个和腾讯云账号的APPID混淆,我们这里加以区分下。
小君君
2018/07/01
9.6K6
Zabbix配置腾讯云短信报警
首次开通短信套餐包的腾讯云每月会赠送100条的免费短信数量,我们可以拿这100条短信进行测试
没有故事的陈师傅
2019/08/06
37.9K2
Zabbix配置腾讯云短信报警
Django实现调用腾讯云短信接口
腾讯云短信接口 注册 登录 具体怎么注册腾讯云接口看下面的文章吧 腾讯云接口注册 1.0 安装SDK pip3 install qcloudsms_py conda install qcloudsms_py 1.1 编写发送短信接口 我的环境是基于django TENCENT_SMS_APP_ID, TENCENT_SMS_APP_KEY, TENCENT_SMS_SIG: 分别都写在了settings.develop配置文件下 # tencent/smsket.py i
Yuou
2022/09/26
12.4K0
百度短信接口以及人脸实名认证接口
添加MAVEN配置 <!-- baidu --> <dependency> <groupId>com.baidubce</groupId> <artifactId>bce-java-sdk</artifactId> <version>${baidubce.version}</version> <!-- 去重避免报错 --> <exclusions> <exclu
jaychou
2022/12/26
6.4K0
Fdog系列(三):使用腾讯云短信接口发送短信,数据库写入,部署到服务器,web收尾篇。
Fdog系列(一):思来想去,不如写一个聊天软件,那就从仿QQ注册页面开始吧。 Fdog系列(二):html写完注册页面之后怎么办,用java写后台响应呀。
花狗Fdog
2021/05/06
2.4K0
03 . Django之腾讯云短信
简介 由于项目在注册、登录、找回密码 时需要发送短信验证的功能,我们使用腾讯云短信做。 为什么要用腾讯云短信呢? 因为注册就送 100条免费短信 的额度。 实现 注册腾讯云 注册一个腾讯云账
iginkgo18
2020/09/27
12.7K0
03 .  Django之腾讯云短信
SpringBoot项目中快速集成腾讯云短信SDK实现手机验证码功能
大家春节好!我是程序员阿福,今天过年的日子祝大家在新的一年里健康平安、步步高升、虎年大吉大利、财源滚滚! 今天分享一篇简短一点的文章,希望在将来工作中需要的时候能够用得到,如果将来工作中需要实现短信验证码功能时可以打开我的公众号并翻到这篇文章再仔细参考我的实现思路,那么笔者分享这篇文章的用意也就达到了。
用户3587585
2022/03/09
4.3K1
SpringBoot项目中快速集成腾讯云短信SDK实现手机验证码功能
SpringBoot整合腾讯短信服务发送验证码
我这里的参数为code 和 3 code对应我随机生成的二维码 3是二维码的有效期 参数顺序与个数与你自己创建的模板内容有关 例如我的模板为这样所以这么传递参数
暴躁的程序猿
2022/03/23
2.7K0
SpringBoot整合腾讯短信服务发送验证码
腾讯云短信服务发送验证码
  由于阿里云需要备案过的域名或者已上线的APP才能申请短信签名,我的域名正在备案,申请还没通过,这里用腾讯云实现短信验证码的发送功能。腾讯云只需要你有个公众号就能申请短信签名,而且免费赠送200条。
别团等shy哥发育
2023/02/25
8.5K0
腾讯云短信服务发送验证码
腾讯云短信服务实现 Java 发送手机验证码(SpringBoot+Redis 实现)
前置:需要腾讯云的账号,后期授权需要,不需要买云服务器,有需要的可以购买短信套餐(几块钱)
RAIN7
2022/08/23
3.4K0
腾讯云短信服务实现 Java 发送手机验证码(SpringBoot+Redis 实现)
中英翻译(基于百度翻译)
市面上有名气的翻译公司就是有道和百度了,有道尝试了一下,分为API和SDK两种,但是demo下载下来跑不了
用户3112896
2019/09/26
2.6K0
中英翻译(基于百度翻译)
腾讯云短信服务的申请和验证使用详细流程
项目中用到短信验证功能,看到腾讯云有短信服务,就直接使用了,当然其它公司也会停工短信服务,百度可以找到很多,使用的情况应该大同小异,这里就以腾讯云的短信服务为例,说明一下短信服务的申请和使用。
React架构设计
2019/12/26
4.9K0
【玩转腾讯云】Python 操作腾讯云短信(sms)详细教程
腾讯云短信 1. 注册腾讯云 <font color="red">已有腾讯云账号可直接跳到第二步</font> 官网 注册, 微信扫码关注腾讯云助手即可快速注册 [biu6v2it00.png] 选择 注册新账号,注册完成后,实名认证一下。选择 个人认证,填写一下信息就ok了。 [x1ldepiqx3.png][xqyn1acnua.png][kp5t4xp99f.png] <span id="sms"></span> 2. 开通腾讯云短信 通过上一步我们已经注册好了腾讯云账号,接下来去开通 腾讯云短信 功
ruochen
2021/04/11
13.5K0
【玩转腾讯云】Python 操作腾讯云短信(sms)详细教程
Python3利用Twilio(国际)以及腾讯云服务(国内)免费发送手机短信
    短信服务验证服务已经不是什么新鲜事了,但是免费的手机短信服务却不多见,本次利用Python3.0基于Twilio和腾讯云服务分别来体验一下国际短信和国内短信接口。
用户9127725
2022/08/08
5.1K0
Python3利用Twilio(国际)以及腾讯云服务(国内)免费发送手机短信
验证码服务使用指南
使用idea打开上一步下载的sailing目录,下图是sailing在idea的工程结构。
用户9184480
2024/12/07
1430
验证码服务使用指南
java实现发送手机验证码功能
1. 进入秒嘀科技(http://www.miaodiyun.com/),注册一个账号
全栈程序员站长
2022/09/13
4.1K0
java实现发送手机验证码功能
支付项目验证码服务使用指南
使用idea打开上一步下载的sailing目录,下图是sailing在idea的工程结构。
用户9184480
2024/12/13
1150
支付项目验证码服务使用指南
java如何对接快递查询接口API
不限量的快递物流轨迹查询接口免费对接,原理是将订单内容订阅到接口后,接口对订单进行实时监控,当物流轨迹有更新时,实时获取数据,对数据进行格式化,计算运单预计到达时间、全流程的物流状态、当前所在城市等数据后,推送回来。监控直到订单签收后结束。比较适合电商和一些系统软件使用。
用户4199839
2019/09/03
1.8K1
推荐阅读
相关推荐
小程序腾讯云短信接口服务
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文