网易云中的短信服务

发送验证码短信,创建  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版相关推荐

  1. java对接阿里云短信服务详解(验证码,推广短信,通知短信)

    前言 小前提: - java:springboot框架,maven版本管理. - 阿里云:有账号,已经进行实名认证. java对接阿里云短信服务详解(验证码,推广短信,通知短信) 前言 1. 登录阿里 ...

  2. 短信猫二次开发(java版)

    短信猫二次开发(java版) 短信猫 短信猫用于批量收/发短信或其它SIM卡服务. 短信猫与PC通过GSM无线网络交互. 交互过程可以分为三个层次: 1.物理层,即无线网络通信. 2.指令层,短信猫支 ...

  3. linux 网络音乐,网易云音乐上线在线音乐应用中首个Linux版

    原标题:网易云音乐上线在线音乐应用中首个Linux版 [天极网IT新闻频道]最近,国内Linux用户乐开了花,因为他们终于可以在Linux系统内听在线音乐了. 5月25日,网易云音乐Linux版正式上 ...

  4. java邮箱发送验证码_java 邮箱发送验证码

    packagecom.*******.util.email;importorg.apache.commons.mail.EmailException;importorg.apache.commons. ...

  5. 网易云---手机验证码登录

    5.3 5.3.0 写在前面 之前写扫码登录的时候对于什么时候clear那个发送请求获取二维码当前状态的定时器timer,只考虑了两种情况,现在再完善一下,再添加一种情况,就是路由的跳转: 关闭 Di ...

  6. java邮箱发送验证码_java实现发送邮箱验证码——三步搞定java邮箱发送验证码

    工具:commons-email的jar包 第一步: 创建HtmlEmail实例对象 HtmlEmail email=new HtmlEmail();//创建一个HtmlEmail实例对象 设置邮箱的 ...

  7. 第三方网易云音乐播放器ieaseMusic Mac中文版v1.3.4版

    ieasemusic mac中文版是目前mac平台上最好的网易云音乐播放器,与网易云音乐官方客户端最大的区别是,官方的就是「客户端」,完全按照其产品内容进行直接堆砌布局,而 ieaseMusic 是基 ...

  8. android仿网易云音乐引导页、仿书旗小说Flutter版、ViewPager切换、风扇叶片效果等源码...

    2019独角兽企业重金招聘Python工程师标准>>> Android精选源码 复现网易云音乐引导页效果 高仿书旗小说 Flutter版,支持iOS.Android Android ...

  9. android仿网易云音乐引导页、仿书旗小说Flutter版、ViewPager切换、爆炸菜单、风扇叶片效果等源码

    Android精选源码 复现网易云音乐引导页效果 高仿书旗小说 Flutter版,支持iOS.Android Android Srt和Ass字幕解析器 Material Design ViewPage ...

  10. android仿网易云音乐引导页、仿书旗小说Flutter版、ViewPager切换、爆炸菜单、风扇叶片效果等源码...

    Android精选源码 复现网易云音乐引导页效果 高仿书旗小说 Flutter版,支持iOS.Android Android Srt和Ass字幕解析器 Material Design ViewPage ...

最新文章

  1. 2021暑假每日一题 【week5 完结】
  2. 若依微服务版后台服务通过jar包部署到Windows服务器
  3. 重学JavaScript(1)--JavaScript简介
  4. centos 查找nginx_centos7肿么查看已经安装nginx
  5. java技术简介英文_Java技术常见的英文缩写
  6. datasnap——动态注册服务类
  7. TRAC 整合已有的SVN目录
  8. 动态加载so库的实现方法与问题处理
  9. 解决虚拟机突然连不上网的问题
  10. T4M插件放入unity后怎么找不到_Unity动画系统详解4:如何用代码控制动画?
  11. cesium中限制地图浏览范围
  12. python pyttsx3实现文字朗读
  13. Java中POJO及其细分XO、DAO的概念
  14. 重装系统后发现只有系统盘c盘怎么办?
  15. Summary of Statistics for Interview
  16. 运用highcharts绘制饼图
  17. 十六种顶级的思维模型
  18. Android 常用备忘
  19. Python 实现 优惠码/激活码/邀请码 生成器
  20. boseqc35能不能连电脑_bose QC35耳机怎么连接win10电脑 bose QC35无法连接电脑的解决方[多图]...

热门文章

  1. 微信机器人终端1.0未来的设想就是做成telegram一样强大的机器人群体集控终端
  2. js 实现统计网站访问量
  3. Flume 海量日志收集利器
  4. 英伟达 NVIDIA-Tesla-P40 GPU 直透
  5. php获取汉字的首字母,php获取汉字拼音首字母的方法
  6. 腾讯云服务器高性能云盘和SSD云硬盘区别及选择
  7. 国内外vps有什么区别?
  8. 添加航班信息c语言,c语言编写航班查询代码
  9. 字节跳动 录屏功能_免费屏幕录制软件有哪些?原来这么多
  10. 异常统一处理[ExceptionAdvice](SpringMVC)