1 需要两个jar包  httpclient-4.3.6.jar和httpcore-4.3.3.jar jar包

2.验证码生成工具

public class CheckSumBuilder {//计算并获取checkSumpublic static String getCheckSum(String appSecret, String nonce, String curTime) {return encode("SHA", appSecret + nonce + curTime);}private static String encode(String algorithm, String value) {if (value == null) {return null;}try {MessageDigest messageDigest = MessageDigest.getInstance(algorithm);messageDigest.update(value.getBytes());return getFormattedText(messageDigest.digest());} catch (Exception e) {throw new RuntimeException(e);}}private static String getFormattedText(byte[] bytes) {int len = bytes.length;StringBuilder sb = new StringBuilder(len * 2);for (int $i = 0; $i < len; $i++) {sb.append(HEX_DIGITS[(bytes[$i] >> 4) & 0x0f]);sb.append(HEX_DIGITS[bytes[$i] & 0x0f]);}return sb.toString();}private static final char[] HEX_DIGITS = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};}

3.(1)验证码

public class SendCode {//发送验证码的请求路径URLprivate static final StringSERVER_URL="xxxxxxxxxx";//网易云信分配的账号,请替换你在管理后台应用下申请的Appkeyprivate static final StringAPP_KEY="xxxxxxxxxxxxxx";//网易云信分配的密钥,请替换你在管理后台应用下申请的appSecretprivate static final String APP_SECRET="xxxxxxxxxxxx";//随机数private static final String NONCE="123456";//短信模板IDprivate static final String TEMPLATEID="xxxxxxxxx";//验证码长度,范围4~10,默认为4private static final String CODELEN="6";// MOBILE 手机号public static void sendCode(String MOBILE) throws Exception {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("mobile",  MOBILE.toString()));     //JSON.toJSONString(MOBILE))  )nvps.add(new BasicNameValuePair("codeLen", CODELEN));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"));}}

3.(2)通知类或运用类


public class SendNoticeCode {//发送验证码的请求路径URLprivate static final StringSERVER_URL="xxxxxxxxxx";//网易云信分配的账号,请替换你在管理后台应用下申请的Appkeyprivate static final StringAPP_KEY="xxxxxxxxxxxxxxxxxxxxxxxx";//网易云信分配的密钥,请替换你在管理后台应用下申请的appSecretprivate static final String APP_SECRET="xxxxxxxxxxxxxxxxxx";//随机数private static final String NONCE="123456";//短信模板IDprivate static final String TEMPLATEID="xxxxxxxxxxxxxxxxx";//MOBILES       手机号,接收者号码列表,JSONArray格式,限制接收者号码个数最多为100个//PARAMS        短信参数列表,用于依次填充模板,JSONArray格式,每个变量长度不能超过30字,对于不包含变量的模板,不填此参数表示模板即短信全文内容public static void sendNoticeCode(String MOBILES, String PARAMS) throws Exception{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"));
}public static void main(String[] args) throws Exception {SendNoticeCode sen = new SendNoticeCode();sen.sendNoticeCode( "['13888888888','13666666666']", "['xxxx','xxxx']");}}

附发送多人,编辑发送内容

//电话号码JSONArray json = new JSONArray();json.add("151****7851");//短信内容(此处的短信内容是你在网易短信模板申请中的变量【%s】这种,//值得注意的是你申请了多少个%S变量就必须填写多少个但是每个变量不能大于30个字:比如我申请 了11个那么我就要传11个变量)//如果参数少了会提示{"code":414,"msg":"miss param"}大概意思是说缺少参数JSONArray json1 = new JSONArray();//json1.add("222");//json1.add("https:www.dingteam.com");System.out.println(json1.toString());//json.add(value)List<NameValuePair> nvp = new ArrayList<NameValuePair>();nvp.add(new BasicNameValuePair("templateid",TEMPLATEID));nvp.add(new BasicNameValuePair("mobiles","[\"187709***\"]"));nvp.add(new BasicNameValuePair("params",json1.toString()));httpPost.setEntity(new UrlEncodedFormEntity(nvp,"utf-8"));HttpResponse response = httpCline.execute(httpPost);System.out.println(EntityUtils.toString(response.getEntity(), "utf-8"));}

网易云短信接口调入(java)相关推荐

  1. 基于网易云短信接口开发

    开发流程: 生成效验 发送验证码 短信验证 一.生成CheckSum校验 import java.security.MessageDigest; /*** 网易云短信工具类* @author dayu ...

  2. java实现网易云短信接口

    httpclient-4.3.6.jar和httpcore-4.3.3.jar jar包 首先去网易云注册账号得到分配的app key 和 App Secret  开通短信有20条试用.使用的是htt ...

  3. 网易云短信接口 ---- 短信验证码

    这两天写了一个关于网易云的短信验证码功能,然后jar包以及代码:链接:https://pan.baidu.com/s/1H8FUgfkqNJFNeebByCh_jw 提取码:yvy3 复制这段内容后打 ...

  4. java发送网易云短信验证码(语音和短信)

    java发送网易云短信验证码(语音和短信) 1,先拷贝架包 commons-codec commons-codec 1.10 org.apache.httpcomponents httpclient ...

  5. 阿里云(短信验证)。。。。网易云短信验证

    首先是根据登陆阿里云官网 点击控制台-使用支付宝登录-搜索短信服务-在右上角找到短信操作服务指南-按照里面的步骤进行就可以了 网易云短信验证 语言验证 登录网易网址: https://netease. ...

  6. 网易云 短信验证码+验证+tp5

    废话不说 直接上代码 PHP部分 1.ServerAPI.php(这是网易云短信文档里面的代码,直接复制存在本地然后改了一些 仅供参考) <?php /*** Created by PhpSto ...

  7. 网易云信短信接口java,调用网易云短信验证码接口Demo

    最近在开发新的项目,因为需要使用验证码验证这个功能.我选择的是 网易云 的验证码接口.免费使用20条.并且在正式使用的过程中,对比了很多家以后,感觉还是他家的便宜.因为随着你购买的短信包数量的增加,价 ...

  8. 网建短信通 使用java调用API发送短信时总是返回-41,关键的关键,仅在于一个问号:(

    今天突发奇想做一个定时给女朋友发送表白短信的功能,发送短信的接口很多,不过基本都是收费的,情有可原.在网建短信通平台(http://sms.webchinese.cn/default.shtml)可以 ...

  9. 云之讯php短信接口,菏泽java云之讯短信接口价格如何计算? 新锐信息科技服务至上...

    免费接码验证码接收平台 好用的接码平台有以下几个特征: 1.平台功能设置人性化:语音验证码+短信验证码一体化,方便用户使用.现在很多项目都慢慢开始了语音验证码的步伐. 2.平台稳定经营时间久:接码平台 ...

最新文章

  1. 支持向量所在超平面方程_支持向量机通俗导论:理解SVM的三层境界(一)
  2. Word中的自定义编号详解及疑难汇总!
  3. 命令行里给个注释,AI就能自动生成代码
  4. python中memoryerror_解决python报错MemoryError
  5. Spring的IOC底层实现
  6. Python操作文件文档
  7. 清除浮动(采用BFC)
  8. kernel oops_Java中的OOPS概念– OOPS概念示例
  9. Bus Hound 使用指南
  10. 15个代理IP网站,打造免费代理IP池
  11. android 系统重装,手机系统重装教程[多图]
  12. 进程、线程等操作系统基础知识
  13. Ubuntu使用sudo apt-get upgrade升级软件出现问题后的处理
  14. Excel 自定义下拉菜单
  15. 机器学习Matplotlib的简单使用
  16. (四) 开集识别学习 open-set recognition(OSR)
  17. 5G+AIoT缺一不可 互联网家电未来会是……
  18. 徕卡LGO输入第三方天线参数具体操作步骤
  19. 如何把pdf转成图片?
  20. 计算机算最低分函数,用excle算最低分?Excel如何算出最低分数者的名字?(函数)...

热门文章

  1. 知乎高赞:让自己更优秀的 16 条法则
  2. springcloud实战:springboot的核心原理
  3. 在Windows下编写的代码,实时在Linux下编译
  4. 分布式三大利器之《消息队列》
  5. TCP/IP--划分子网和构造超网
  6. 东京迪斯尼海洋乐园攻略_迪士尼乐园-软件工程师的观点
  7. QT + 大恒水星工业相机 +vs2017 实现线程拍摄视频
  8. 1081:分苹果(C C++)
  9. 教资报名网站显示无法访问此页面
  10. Appium 自动化测试 H5页面元素定位