1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 网易云发送验证码短信 发送通知短信 java版

网易云发送验证码短信 发送通知短信 java版

时间:2022-03-08 00:29:09

相关推荐

网易云发送验证码短信 发送通知短信 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 = "ease.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 短信模板IDString 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="ease.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 = "ease.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','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);//}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。