700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Java调用第三方短信接口(聚合平台)发送短信验证码

Java调用第三方短信接口(聚合平台)发送短信验证码

时间:2020-10-04 18:39:22

相关推荐

Java调用第三方短信接口(聚合平台)发送短信验证码

直接上工具类

package mons.util;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import .HttpURLConnection;import .URL;import .URLEncoder;import java.util.HashMap;import java.util.Map;import com.alibaba.fastjson.JSONObject;/*** @describe 聚合短信发送 */public class JuheSmsUtil {public static final String DEF_CHATSET = "UTF-8";public static final int DEF_CONN_TIMEOUT = 30000;public static final int DEF_READ_TIMEOUT = 30000;public static String userAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36";//配置您申请的KEYpublic static final String APPKEY = "";//发送短信public static void sendSms(String mobile, String name,String oaurl){String result = null;String url = "/sms/send";//请求接口地址Map<String,String> params = new HashMap();//请求参数params.put("mobile", mobile);//接收短信的用户手机号码params.put("tpl_id", "197394");//您申请的短信模板ID,请参考个人中心短信模板设置params.put("tpl_value", "#OA_NAME#=" + name+"&#OA_URL#=" + oaurl);//你设置的模板变量URLDecoder.decode(code, "UTF-8");(页面encodeURI(encodeURI(code)));//变量名和变量值对。如果你的变量名或者变量值中带有#&=中的任意一个特殊符号,请先分别进行urlencode编码后再传递,<a href="/news/index/id/50" target="_blank">详细说明></a>params.put("key", APPKEY);//应用APPKEYparams.put("dtype", "");//返回数据的格式,xml或json,默认jsontry {result =net(url, params, "GET");JSONObject object = JSONObject.parseObject(result);if(object.getInteger("error_code")==0){System.out.println(object.get("result"));}else{System.out.println(object.get("error_code")+":"+object.get("reason"));}} catch (Exception e) {e.printStackTrace();}}/*** * @param strUrl 请求地址* @param params 请求参数* @param method 请求方法* @return* @throws Exception*/public static String net(String strUrl, Map<String,String> params, String method) throws Exception{HttpURLConnection conn = null;BufferedReader reader = null;String rs = null;try {StringBuffer sb = new StringBuffer();if(method==null || method.equals("GET")){strUrl = strUrl+"?"+urlencode(params);}URL url = new URL(strUrl);conn = (HttpURLConnection) url.openConnection();if(method==null || method.equals("GET")){conn.setRequestMethod("GET");}else{conn.setRequestMethod("POST");conn.setDoOutput(true);}conn.setRequestProperty("User-agent", userAgent);conn.setUseCaches(false);conn.setConnectTimeout(DEF_CONN_TIMEOUT);conn.setReadTimeout(DEF_READ_TIMEOUT);conn.setInstanceFollowRedirects(false);conn.connect();if (params!= null && method.equals("POST")) {try {DataOutputStream out = new DataOutputStream(conn.getOutputStream());out.writeBytes(urlencode(params));} catch (Exception e) {e.printStackTrace();}}InputStream is = conn.getInputStream();reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET));String strRead = null;while ((strRead = reader.readLine()) != null) {sb.append(strRead);}rs = sb.toString();} catch (IOException e) {e.printStackTrace();} finally {if (reader != null) {reader.close();}if (conn != null) {conn.disconnect();}}return rs;}//将map型转为请求参数型public static String urlencode(Map<String,String> data) {StringBuilder sb = new StringBuilder();for (Map.Entry i : data.entrySet()) {try {sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&");} catch (UnsupportedEncodingException e) {e.printStackTrace();}}return sb.toString();}}

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