短信服务(Short Message Service)是网易网易云通信为用户提供的一种通信服务的能力,目前支持验证码类短信、通知类短信、运营类短信、语音类短信、国际短信等事务性短信。网易网易云通信短信功能具体有全网覆盖、3-5 秒可达、超高到达率、7*24 小时服务监控等优势。按量付费、阶梯定价,发送越多单价越低。API调用简单,加快接入速度。

我们这里主要介绍使用OkHttp和Retrofit来做一些请求,就不做介绍了,直接使用代码来注释。

OkHttp

private final static String vercodeserverurl = "https://api.netease.im/sms/sendcode.action";
private final static String vercodeappkey = "5970a1e************46ae";
private final static String vercodeappsecret = "5*****4";
private final static String vercodetemplateid = "30******7"; public static void main(String[] args) throws IOException {
String nonce = ((int) (Math.random() * 100000)) + "";
String curTime = String.valueOf(System.currentTimeMillis() / 1000L);
String checkSum = CheckSumBuilder.getCheckSum(vercodeappsecret, nonce, curTime); FormBody.Builder builder = new FormBody.Builder();
builder.add("mobile", "155********");
RequestBody formBody = builder.build(); OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder()
.url(vercodeserverurl)
.addHeader("AppKey",vercodeappkey)
.addHeader("Nonce",nonce)
.addHeader("CurTime",curTime)
.addHeader("CheckSum",checkSum)
.post(formBody)
.build();
okhttp3.Response execute = client.newCall(request).execute();
ResponseBody body = execute.body();
System.out.println(body.string());
System.out.println("完成");

Retrofit

接口声明

public interface WebInterface {

    @FormUrlEncoded
@POST("sms/sendcode.action")
Call<MessageResponse> sendMessage(@Header("AppKey") String apiKey,
@Header("Nonce") String Nonce,
@Header("CurTime") String CurTime,
@Header("CheckSum") String CheckSum,
@Field("mobile") String mobile);
}

返回实体封装

public class MessageResponse {

    private int code;
private String msg;
private String obj; //省略全参构造 @Override
public String toString() {
return "MessageResponse{" +
"code=" + code +
", msg='" + msg + '\'' +
", obj='" + obj + '\'' +
'}';
}
}

Retrofit调用接口

public class SendMessage {

    private final static String vercodeserverurl="https://api.netease.im/";
private final static String vercodeappkey="5970a1*************46ae";
private final static String vercodeappsecret="5***********4";
private final static String vercodetemplateid="3******7";
private final static String content="application/x-www-form-urlencoded;charset=utf-8"; public static void main(String[] args) throws IOException {
String nonce = ((int) Math.random() * 100000) + "";
String curTime = String.valueOf(System.currentTimeMillis() / 1000L);
String checkSum = CheckSumBuilder.getCheckSum(vercodeappsecret, nonce, curTime); Retrofit retrofit = new Retrofit.Builder()
.baseUrl(vercodeserverurl) //设置网络请求的Url地址
.addConverterFactory(GsonConverterFactory.create()) //设置数据解析器
.build(); WebInterface webInterface = retrofit.create(WebInterface.class);
Call<MessageResponse> messageResponseCall = webInterface.sendMessage(vercodeappkey,
nonce,
curTime,
checkSum,
//content,
"155*********");
//同步执行
Response<MessageResponse> execute = messageResponseCall.execute();
MessageResponse messageResponse= execute.body();
//判断是否成功等代码省略
}
}

使用OkHttp和Retrofit发送网易云信验证码的更多相关文章

  1. 网易云信,发送验证码短信C#版代码

    网易云信发送短信代码(C# 版)....需要注意SHA1 String有转换小写!!!! using System; using System.Collections.Generic; using S ...

  2. php对接网易云信视频直播

    <?php/** * Created by PhpStorm. * User: lhl * Date: 2019/4/10 * Time: 17:31 */ namespace app\api\ ...

  3. 模板短信接口调用java,pythoy版(一) 网易云信

    说明 短信服务平台有很多,我只是个人需求,首次使用,算是测试用的,故选个网易(大公司). 稳定性:我只测试了15条短信... 不过前3条短信5分钟左右的延时,后面就比较快.... 我只是需要发短信,等 ...

  4. 子弹短信光鲜的背后:网易云信首席架构师分享亿级IM平台的技术实践

    本文原文内容来自InfoQ的技术分享,本次有修订.勘误和加工,感谢原作者的分享. 1.前言 自从2018年8月20日子弹短信在锤子发布会露面之后(详见<老罗最新发布了“子弹短信”这款IM,主打熟 ...

  5. 微信小程序开发中的二三事之网易云信IMSDK DEMO

    本文由作者邹永胜授权网易云社区发布. 简介 为了更好的展示我们即时通讯SDK强悍的能力,网易云信IM SDK微信小程序DEMO的开发就提上了日程.用产品的话说就是: 云信 IM 小程序 SDK 的能力 ...

  6. 网易云信技术分享:IM中的万人群聊技术方案实践总结

    本文来自网易云信团队的技术分享,原创发表于网易云信公众号,原文链接:mp.weixin.qq.com/s/LT2dASI7QVpcOVxDAsMeVg,收录时有改动. 1.引言 在不了解IM技术的人眼 ...

  7. 网易云信-新增自定义消息(iOS版)

    https://www.jianshu.com/p/2bfb1c4e9f21 前言 公司业务需要,PC端,移动端都用到了第三方 网易云信 IM来实现在线客服咨询.在这当中难免遇到一些需求是网易云信没有 ...

  8. 网易云信 QUIC 加速服务架构与实践

    导语:网易云信作为音视频服务提供商的领导者,一直致力于提供顶级的音视频通话服务体验,为用户在各种恶劣环境下提供可靠的音视频服务.如何在极端弱网条件下仍然能给用户提供可靠的音视频服务,是网易云信关注的重 ...

  9. 用Retrofit发送请求中添加身份验证

    用Retrofit发送请求中添加身份验证====================在安卓应用开发中, retrofit可以极大的方便发送http网络请求,不管是GET, POST, 还是PUT, DEL ...

随机推荐

  1. 【Storm篇】--Storm并发机制

    一.前述 为了提高Storm的并行能力,通常需要设置并行. 二.具体原理 1. Storm并行分为几个方面: Worker – 进程一个Topology拓扑会包含一个或多个Worker(每个Worke ...

  2. BBS论坛(八)

    8.1.发送邮箱验证码功能 (1)cms/resetemail.html {% from 'common/_macros.html' import static %} {% block head %} ...

  3. oracle常用命令收集

    1.查看监听状态 lsnrctl status 2.启动监听 lsnrctl start 3.关闭监听 lsnrctl stop 4.以数据库管理员登录 sqlplus / as sysdba 5.手 ...

  4. source map 的原理探究

    线上产品代码一般是编译过的,前端的编译处理过程包括不限于 转译器/Transpilers (Babel, Traceur) 编译器/Compilers (Closure Compiler, TypeS ...

  5. PyQt:个性化登录界面模仿QQ登录

    写在前面 写了一个登录界面的demo,类似QQ的,写的自己喜欢的样式,贴一下代码,先上效果,如下 陈述 PyQt5+Python3.5.2 login.py是里登录的主界面loginWnd类,Head ...

  6. Zookeeper~Linux环境下的部署

    介绍 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提 ...

  7. SpringCloud Feign的分析

    Feign是一个声明式的Web Service客户端,它使得编写Web Serivce客户端变得更加简单.我们只需要使用Feign来创建一个接口并用注解来配置它既可完成. @FeignClient(v ...

  8. nodejs操作session和cookie

    session: 安装模块 cnpm install express-session 引入session注册到路由 var express = require('express'); var sess ...

  9. JAVA开发知识之Java的线程

    目录 Java多线程讲解 一丶多线程简介 1.进程的概念 2.线程概念 3.Java中多线程Thread类 二丶多线程的创建 1.继承Thread类.重写run方法. 2.实现Runalbe接口. 三 ...

  10. RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->新增“行政区域管理”,同时大批量树采用异步加载

    行政区划:简称政区,是国家为了进行分级管理而实行的区域划分.中国现行的行政区划实行如下原则:1.全国分为省.自治区.直辖市:2.省.自治区分为自治州.县.自治县.市:3.自治州分为县.自治县.市:4. ...