网易云发送验证码短信,发送通知短信,java版
网易云中的短信服务
发送验证码短信,创建 MobileMessageSend :
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;import com.alibaba.fastjson.JSON;public class MobileMessageSend {// 发送验证码的请求路径URLprivate static final String SERVER_URL = "https://api.netease.im/sms/sendcode.action";private static final String APP_KEY = "";// 账号private static final String APP_SECRET = "";// 密钥private static final String NONCE = "123456";// 随机数private static final String MOULD_ID = "";// 模板IDpublic static String sendMsg(String phone, String mouldid) throws IOException {CloseableHttpClient httpclient = HttpClients.createDefault();HttpPost post = new HttpPost(SERVER_URL);String curTime = String.valueOf((new Date().getTime() / 1000L));String checkSum = CheckSumBuilder.getCheckSum(APP_SECRET, NONCE, curTime);// 设置请求的headerpost.addHeader("AppKey", APP_KEY);post.addHeader("Nonce", NONCE);post.addHeader("CurTime", curTime);post.addHeader("CheckSum", checkSum);post.addHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");// 设置请求参数List<NameValuePair> nameValuePairs = new ArrayList<>();nameValuePairs.add(new BasicNameValuePair("mobile", phone));nameValuePairs.add(new BasicNameValuePair("templateid", mouldid));post.setEntity(new UrlEncodedFormEntity(nameValuePairs, "utf-8"));// 执行请求HttpResponse response = httpclient.execute(post);String responseEntity = EntityUtils.toString(response.getEntity(), "utf-8");// 判断是否发送成功,发送成功返回trueString code = JSON.parseObject(responseEntity).getString("code");if (code.equals("200")) {return "success";}return "error";}
}
调用发短信:
//phone 手机号
//mobid 短信模板ID
String str = MobileMessageSend.sendMsg(phone, mobid);
验证码校验,创建 MobileMessageCheck :
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import com.alibaba.fastjson.JSON;public class MobileMessageCheck {private static final String SERVER_URL="https://api.netease.im/sms/verifycode.action";//校验验证码的请求路径URLprivate static final String APP_KEY="";//账号private static final String APP_SECRET="";//密钥private static final String NONCE="123456";//随机数public static String checkMsg(String phone,String sum) throws IOException {CloseableHttpClient httpclient = HttpClients.createDefault();HttpPost post = new HttpPost(SERVER_URL);String curTime=String.valueOf((new Date().getTime()/1000L));String checkSum=CheckSumBuilder.getCheckSum(APP_SECRET,NONCE,curTime);//设置请求的headerpost.addHeader("AppKey",APP_KEY);post.addHeader("Nonce",NONCE);post.addHeader("CurTime",curTime);post.addHeader("CheckSum",checkSum);post.addHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");//设置请求参数List<NameValuePair> nameValuePairs =new ArrayList<>();nameValuePairs.add(new BasicNameValuePair("mobile",phone));nameValuePairs.add(new BasicNameValuePair("code",sum));post.setEntity(new UrlEncodedFormEntity(nameValuePairs,"utf-8"));//执行请求HttpResponse response=httpclient.execute(post);String responseEntity= EntityUtils.toString(response.getEntity(),"utf-8");//判断是否发送成功,发送成功返回trueString code= JSON.parseObject(responseEntity).getString("code");//System.out.println(code);if (code.equals("200")){return "success";}return "error";}
}
验证码验证:
//phone 手机号
//code 验证码
String str = MobileMessageCheck.checkMsg(phone, code);if (str.equals("success")) {
//验证码和手机号 正确
}
================================= 通知类短信 ================================================
创建 SendMsg
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import com.alibaba.fastjson.JSON;/*** 发送模板短信请求*/
public class SendMsg {// 发送验证码的请求路径URLprivate static final String SERVER_URL = "https://api.netease.im/sms/sendtemplate.action";// 网易云信分配的账号,请替换你在管理后台应用下申请的Appkeyprivate static final String APP_KEY = "";// 网易云信分配的密钥,请替换你在管理后台应用下申请的appSecretprivate static final String APP_SECRET = "";// 随机数private static final String NONCE = "123456";// 短信模板IDprivate static final String TEMPLATEID = "";// 手机号,接收者号码列表,JSONArray格式,限制接收者号码个数最多为100个private static final String MOBILES = "['13888888888','13666666666']";// 短信参数列表,用于依次填充模板,JSONArray格式,每个变量长度不能超过30字,对于不包含变量的模板,不填此参数表示模板即短信全文内容private static final String PARAMS = "['朋友','100','2018年08月20号']";public static String sendnotice(String templateid, String mobiles, String params) throws IOException {DefaultHttpClient httpClient = new DefaultHttpClient();HttpPost httpPost = new HttpPost(SERVER_URL);String curTime = String.valueOf((new Date()).getTime() / 1000L);/** 参考计算CheckSum的java代码,在上述文档的参数列表中,有CheckSum的计算文档示例*/String checkSum = CheckSumBuilder.getCheckSum(APP_SECRET, NONCE, curTime);// 设置请求的headerhttpPost.addHeader("AppKey", APP_KEY);httpPost.addHeader("Nonce", NONCE);httpPost.addHeader("CurTime", curTime);httpPost.addHeader("CheckSum", checkSum);httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");// 设置请求的的参数,requestBody参数List<NameValuePair> nvps = new ArrayList<NameValuePair>();/** 1.如果是模板短信,请注意参数mobile是有s的,详细参数配置请参考“发送模板短信文档” 2.参数格式是jsonArray的格式,例如* "['13888888888','13666666666']"* 3.params是根据你模板里面有几个参数,那里面的参数也是jsonArray格式*/nvps.add(new BasicNameValuePair("templateid", templateid));nvps.add(new BasicNameValuePair("mobiles", mobiles));nvps.add(new BasicNameValuePair("params", params));httpPost.setEntity(new UrlEncodedFormEntity(nvps, "utf-8"));// 执行请求HttpResponse response = httpClient.execute(httpPost);/** 1.打印执行结果,打印结果一般会200、315、403、404、413、414、500* 2.具体的code有问题的可以参考官网的Code状态表*/// System.out.println(EntityUtils.toString(response.getEntity(),// "utf-8"));String responseEntity = EntityUtils.toString(response.getEntity(), "utf-8");// 判断是否发送成功,发送成功返回trueString code = JSON.parseObject(responseEntity).getString("code");System.out.println("返回码:" + code);if (code.equals("200")) {return "success";}return "error";}// public static void main(String[] args) throws IOException {
// String xx = sendnotice("9505219", "['13888888888']", "[]");
// System.out.println("返回码:" + xx);
// }}
网易云发送验证码短信,发送通知短信,java版相关推荐
- java对接阿里云短信服务详解(验证码,推广短信,通知短信)
前言 小前提: - java:springboot框架,maven版本管理. - 阿里云:有账号,已经进行实名认证. java对接阿里云短信服务详解(验证码,推广短信,通知短信) 前言 1. 登录阿里 ...
- 短信猫二次开发(java版)
短信猫二次开发(java版) 短信猫 短信猫用于批量收/发短信或其它SIM卡服务. 短信猫与PC通过GSM无线网络交互. 交互过程可以分为三个层次: 1.物理层,即无线网络通信. 2.指令层,短信猫支 ...
- linux 网络音乐,网易云音乐上线在线音乐应用中首个Linux版
原标题:网易云音乐上线在线音乐应用中首个Linux版 [天极网IT新闻频道]最近,国内Linux用户乐开了花,因为他们终于可以在Linux系统内听在线音乐了. 5月25日,网易云音乐Linux版正式上 ...
- java邮箱发送验证码_java 邮箱发送验证码
packagecom.*******.util.email;importorg.apache.commons.mail.EmailException;importorg.apache.commons. ...
- 网易云---手机验证码登录
5.3 5.3.0 写在前面 之前写扫码登录的时候对于什么时候clear那个发送请求获取二维码当前状态的定时器timer,只考虑了两种情况,现在再完善一下,再添加一种情况,就是路由的跳转: 关闭 Di ...
- java邮箱发送验证码_java实现发送邮箱验证码——三步搞定java邮箱发送验证码
工具:commons-email的jar包 第一步: 创建HtmlEmail实例对象 HtmlEmail email=new HtmlEmail();//创建一个HtmlEmail实例对象 设置邮箱的 ...
- 第三方网易云音乐播放器ieaseMusic Mac中文版v1.3.4版
ieasemusic mac中文版是目前mac平台上最好的网易云音乐播放器,与网易云音乐官方客户端最大的区别是,官方的就是「客户端」,完全按照其产品内容进行直接堆砌布局,而 ieaseMusic 是基 ...
- android仿网易云音乐引导页、仿书旗小说Flutter版、ViewPager切换、风扇叶片效果等源码...
2019独角兽企业重金招聘Python工程师标准>>> Android精选源码 复现网易云音乐引导页效果 高仿书旗小说 Flutter版,支持iOS.Android Android ...
- android仿网易云音乐引导页、仿书旗小说Flutter版、ViewPager切换、爆炸菜单、风扇叶片效果等源码
Android精选源码 复现网易云音乐引导页效果 高仿书旗小说 Flutter版,支持iOS.Android Android Srt和Ass字幕解析器 Material Design ViewPage ...
- android仿网易云音乐引导页、仿书旗小说Flutter版、ViewPager切换、爆炸菜单、风扇叶片效果等源码...
Android精选源码 复现网易云音乐引导页效果 高仿书旗小说 Flutter版,支持iOS.Android Android Srt和Ass字幕解析器 Material Design ViewPage ...
最新文章
- 2021暑假每日一题 【week5 完结】
- 若依微服务版后台服务通过jar包部署到Windows服务器
- 重学JavaScript(1)--JavaScript简介
- centos 查找nginx_centos7肿么查看已经安装nginx
- java技术简介英文_Java技术常见的英文缩写
- datasnap——动态注册服务类
- TRAC 整合已有的SVN目录
- 动态加载so库的实现方法与问题处理
- 解决虚拟机突然连不上网的问题
- T4M插件放入unity后怎么找不到_Unity动画系统详解4:如何用代码控制动画?
- cesium中限制地图浏览范围
- python pyttsx3实现文字朗读
- Java中POJO及其细分XO、DAO的概念
- 重装系统后发现只有系统盘c盘怎么办?
- Summary of Statistics for Interview
- 运用highcharts绘制饼图
- 十六种顶级的思维模型
- Android 常用备忘
- Python 实现 优惠码/激活码/邀请码 生成器
- boseqc35能不能连电脑_bose QC35耳机怎么连接win10电脑 bose QC35无法连接电脑的解决方[多图]...