网易云信短信接口java_网易云短信接口测试
1、网易云信官网网址:https://netease.im/sms,注册登录后选择免费试用
--------------------------------------------------------------------------------------------
2、开始创建一个应用;
3、创建应用完成后,在未开通功能下找到短信,并申请试用;
4、申请试用成功后,点击“短信模板管理”,然后选择"验证码模板"(记住你的模板id);
5、回到应用主页面,点击App Key管理;
6、记住你的App Key和App Secret;
7、开始测试
CheckSumBuilder.java
1 packagetest;2
3 importjava.security.MessageDigest;4
5 public classCheckSumBuilder {6
7 //计算并获取CheckSum
8 public staticString getCheckSum(String appSecret, String nonce, String curTime) {9 return encode("sha1", appSecret + nonce +curTime);10 }11
12 //计算并获取md5值
13 public staticString getMD5(String requestBody) {14 return encode("md5", requestBody);15 }16
17 private staticString encode(String algorithm, String value) {18 if (value == null) {19 return null;20 }21 try{22 MessageDigest messageDigest23 =MessageDigest.getInstance(algorithm);24 messageDigest.update(value.getBytes());25 returngetFormattedText(messageDigest.digest());26 } catch(Exception e) {27 throw newRuntimeException(e);28 }29 }30 private static String getFormattedText(byte[] bytes) {31 int len =bytes.length;32 StringBuilder buf = new StringBuilder(len * 2);33 for (int j = 0; j < len; j++) {34 buf.append(HEX_DIGITS[(bytes[j] >> 4) & 0x0f]);35 buf.append(HEX_DIGITS[bytes[j] & 0x0f]);36 }37 returnbuf.toString();38 }39 private static final char[] HEX_DIGITS = { '0', '1', '2', '3', '4', '5',40 '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};41
42 }
MobileMessageSend.java
1 packagetest;2
3 importcom.alibaba.fastjson.JSON;4 importorg.apache.http.HttpResponse;5 importorg.apache.http.NameValuePair;6 importorg.apache.http.client.entity.UrlEncodedFormEntity;7 importorg.apache.http.client.methods.HttpPost;8 importorg.apache.http.impl.client.CloseableHttpClient;9 importorg.apache.http.impl.client.HttpClients;10 importorg.apache.http.message.BasicNameValuePair;11 importorg.apache.http.util.EntityUtils;12
13 importjava.io.IOException;14 importjava.util.ArrayList;15 importjava.util.Date;16 importjava.util.List;17
18 public classMobileMessageSend {19
20 //发送验证码的请求路径URL
21 private static final String SERVER_URL="https://api.netease.im/sms/sendcode.action";22 //网易云信分配的账号,请替换你在管理后台应用下申请的Appkey
23 private static final String APP_KEY="你的AppKey";24 //网易云信分配的密钥,请替换你在管理后台应用下申请的appSecret
25 private static final String APP_SECRET="你的AppSecret";26 //随机数
27 private static final String NONCE="123456";28 //短信模板ID
29 private static final String TEMPLATEID="你的模板id";30 //手机号31 //private static final String MOBILE="11111111";32 //验证码长度,范围4~10,默认为4
33 private static final String CODELEN="6";34
35 public static void sendMsg(String phone) throwsIOException {36 CloseableHttpClient httpclient =HttpClients.createDefault();37 HttpPost post = newHttpPost(SERVER_URL);38
39 //参考计算CheckSum的java代码,在上述文档的参数列表中,有CheckSum的计算文档示例
40 String curTime=String.valueOf((new Date().getTime()/1000L));41 String checkSum=CheckSumBuilder.getCheckSum(APP_SECRET,NONCE,curTime);42
43 //设置请求的header
44 post.addHeader("AppKey",APP_KEY);45 post.addHeader("Nonce",NONCE);46 post.addHeader("CurTime",curTime);47 post.addHeader("CheckSum",checkSum);48 post.addHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");49
50 //设置请求参数
51 List nameValuePairs =new ArrayList();52 nameValuePairs.add(new BasicNameValuePair("mobile",phone));53 nameValuePairs.add(new BasicNameValuePair("templateid", TEMPLATEID));54 nameValuePairs.add(new BasicNameValuePair("codeLen", CODELEN));55
56 post.setEntity(new UrlEncodedFormEntity(nameValuePairs,"utf-8"));57
58 //执行请求
59 HttpResponse response=httpclient.execute(post);60 String responseEntity= EntityUtils.toString(response.getEntity(),"utf-8");61
62 //判断是否发送成功,发送成功返回true
63 String code= JSON.parseObject(responseEntity).getString("code");64 if (code.equals("200")){65 //String sms= JSON.parseObject(responseEntity).getString("obj");
66 System.out.println("发送成功!");67 return;68 }69 System.out.println("发送失败!");70 }71 }
SendMsg.java
1 packagetest;2
3 importjava.io.IOException;4
5 public classSendMsg {6 public static void main(String[] args) throwsIOException {7 String mobileNumber = "1111111111";//接收验证码的手机号码
8 MobileMessageSend.sendMsg(mobileNumber);9
10 }11 }
jar包和代码 百度网盘链接:https://pan.baidu.com/s/1HJQ9LyXEm-khZ4y69rfiGQ 提取码:tv0d
网易云信短信接口java_网易云短信接口测试相关推荐
- 网易云信技术创新,助力网易云音乐社交玩法升级
作为一款国民级音乐App,网易云音乐引领着音乐产品,从播放器工具时代走入了全新的在线音乐社区时代. 音乐社交,体验永远是第一位 网易云音乐作为一个音乐产品,在选择音视频底层技术的时候,对于网络稳定性. ...
- 网易云信短信验证php,网易云 短信验证码+验证+tp5
* Created by PhpStorm. * User: Administrator * Date: 2018/4/8 * Time: 15:15*/namespace app\api\contr ...
- 基于网易云短信接口开发
开发流程: 生成效验 发送验证码 短信验证 一.生成CheckSum校验 import java.security.MessageDigest; /*** 网易云短信工具类* @author dayu ...
- 阿里云(短信验证)。。。。网易云短信验证
首先是根据登陆阿里云官网 点击控制台-使用支付宝登录-搜索短信服务-在右上角找到短信操作服务指南-按照里面的步骤进行就可以了 网易云短信验证 语言验证 登录网易网址: https://netease. ...
- java发送网易云短信验证码(语音和短信)
java发送网易云短信验证码(语音和短信) 1,先拷贝架包 commons-codec commons-codec 1.10 org.apache.httpcomponents httpclient ...
- 网易云 短信验证码+验证+tp5
废话不说 直接上代码 PHP部分 1.ServerAPI.php(这是网易云短信文档里面的代码,直接复制存在本地然后改了一些 仅供参考) <?php /*** Created by PhpSto ...
- 网易云信全面技术支持,让“子弹短信”飞得更快
谁也没有想到,在IM这片被巨头们早已稳固的红海,子弹短信会掀起一阵巨浪.近日,子弹短信横空出世,一度攀居App Store免费总榜第一名.同时,"子弹"也炸翻了创投圈,上线短短7天 ...
- 通达信接口官网与量化交易有联系吗?
股票量化在目前看来已经很普遍了,因此市面上有很多交易软件不断被开发出来,就比如说通达信接口官网系统,那它与量化交易有什么联系吗? 通达信接口官网其实就是提供给投资者进行量化交易的渠道,也就是大家常见使 ...
- 通达信接口官网-TcApi的工作机制
通达信接口官网-TcApi的工作机制,小编总结了以下几点: 1.初始化,创建通达信实例: 2.和驻留进程的通讯. 以上就是关于通达信接口官网-TcApi的工作机制的介绍. 下面,给大家分享一下,关于通 ...
最新文章
- Django 入门项目案例开发(下)——创建项目应用及模型类
- python分布式进程(windows下)
- Linux C++线程池
- 深度学习(2)回归问题
- org.apache.ibatis.binding.BindingException: Parameter '1' not found. Available parameters are [arg3,
- 20210310 20210311 :栈、队列、堆类题目合集
- CCF201312-4 有趣的数(100分)
- 【Gym-102606 H】Heat Pipes【奇环染色、bfs 生成树】
- win98老机子安装linux,在win98下怎么安装linux?
- nginx服务器添加微信小程序校验文件
- 利用IDM没办法从B站下视频?下载悬浮条不显示?解决方案来了!
- mac os 录屏快捷键_5款好用的Mac录屏软件推荐
- Open vSwitch系列实验(三):Open vSwitch的VxLAN隧道网络实验
- 从蚂蚁上市看阿里,几点随想
- 美术基础对学3D游戏建模重要吗?零基础如何学3D建模
- AttributeError: ‘FigureCanvasTkAgg‘ object has no attribute ‘set_window_title‘
- p2p服务器的协议,P2P文件传输协议之BitTorrent协议
- 网络结构及mac和phy介绍
- 集中式版本控制 VS 分布式版本控制
- 接上篇——生成单词索引表