博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用OkHttp和Retrofit发送网易云信验证码
阅读量:6848 次
发布时间:2019-06-26

本文共 3730 字,大约阅读时间需要 12 分钟。

短信服务(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
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
messageResponseCall = webInterface.sendMessage(vercodeappkey, nonce, curTime, checkSum, //content, "155*********"); //同步执行 Response
execute = messageResponseCall.execute(); MessageResponse messageResponse= execute.body(); //判断是否成功等代码省略 }}

转载于:https://www.cnblogs.com/zhoutao825638/p/10382075.html

你可能感兴趣的文章
在react中实现打印功能
查看>>
实现动态系统托盘图标
查看>>
互联网部-供应商团队js规范
查看>>
用Office Viso 2010创建SharePoint 2010 工作流
查看>>
用Python写一个小爬虫吧!
查看>>
jQuery的封装和扩展方式
查看>>
问题解决 sql server 2008 评估期已过期解决办法
查看>>
工具 EZDML表结构设计器
查看>>
终于掌握vim的寄存器和系统剪贴板的使用了- 要安装vim-X11包
查看>>
Boost下载安装编译配置使用指南(含Windows和Linux) .
查看>>
深度分析 Java 的 ClassLoader 机制(源码级别)
查看>>
Oracle 获取前几行数据问题的陷阱
查看>>
SpringBoot聚合项目打包
查看>>
设计模式之抽象工厂模式
查看>>
批量远程执行linux服务器程序--基于pxpect(多进程、记日志版)
查看>>
栅格计算器初试
查看>>
[原创]基于proteus仿真16*64点阵屏带DS1302实钟芯片
查看>>
【MVC】action方法接收浏览器参数的方式
查看>>
早期SpA患者髋关节的受累发生率
查看>>
对于毛星云opencv教程中的方法汇总
查看>>