秒滴云
导包:commons-codec-1.9.jar
MiaoDiYunUtils.java
package com.dtgy.youguoju.utilstest;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.codec.digest.DigestUtils;
public class MiaoDiYunUtils {
/**
* url前半部分
*/
public static final String BASE_URL = "https://api.miaodiyun.com/20150822";
/**https://api.miaodiyun.com
* 开发者注册后系统自动生成的账号,可在官网登录后查看
*/
public static final String ACCOUNT_SID = "421fab152edb4e40b7e848498b6695c1";
/**
* 开发者注册后系统自动生成的TOKEN,可在官网登录后查看
*/
public static final String AUTH_TOKEN = "4f776158c8744bf9a28f26f3834c4141";
/**
* 响应数据类型, JSON或XML
*/
public static final String RESP_DATA_TYPE = "json";
/**
* 发送验证码
* @param tel 手机号
* @param code 验证码
* @param minute 时间(单位分)
* @return
*/
public static String sendVerificationCode(String tel,String code,String minute){
String operation = "/industrySMS/sendSMS";
String url = BASE_URL + operation;
String templateid = "56780120";//模板id
//输入的内容验证码+提醒
String param = ""+code+","+minute+"分钟内输入有效。";
String body = "accountSid=" + ACCOUNT_SID + "&to=" + tel + "&templateid=" + templateid + "¶m=" + param
+ createCommonParam();
// 提交请求
String result = post(url, body);
return result;
}
/**
* 构造通用参数timestamp、sig和respDataType
*
* @return
*/
public static String createCommonParam()
{
// 时间戳
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String timestamp = sdf.format(new Date());
// 签名
String sig = DigestUtils.md5Hex(ACCOUNT_SID + AUTH_TOKEN + timestamp);
return "×tamp=" + timestamp + "&sig=" + sig + "&respDataType=" +RESP_DATA_TYPE;
}
/**
* post请求
*
* @param url
* 功能和操作
* @param body
* 要post的数据
* @return
* @throws IOException
*/
public static String post(String url, String body)
{
// System.out.println("url:" + System.lineSeparator() + url);
// System.out.println("body:" + System.lineSeparator() + body);
String result = "";
try
{
OutputStreamWriter out = null;
BufferedReader in = null;
URL realUrl = new URL(url);
URLConnection conn = realUrl.openConnection();
// 设置连接参数
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setConnectTimeout(5000);
conn.setReadTimeout(20000);
// 提交数据
out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");
out.write(body);
out.flush();
// 读取返回数据
in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
String line = "";
boolean firstLine = true; // 读第一行不加换行符
while ((line = in.readLine()) != null)
{
if (firstLine)
{
firstLine = false;
} else
{
result += System.lineSeparator();
}
result += line;
}
} catch (Exception e)
{
e.printStackTrace();
}
return result;
}
/**
* 回调测试工具方法
*
* @param url
* @param reqStr
* @return
*/
public static String postHuiDiao(String url, String body)
{
String result = "";
try
{
OutputStreamWriter out = null;
BufferedReader in = null;
URL realUrl = new URL(url);
URLConnection conn = realUrl.openConnection();
// 设置连接参数
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setConnectTimeout(5000);
conn.setReadTimeout(20000);
// 提交数据
out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");
out.write(body);
out.flush();
// 读取返回数据
in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
String line = "";
boolean firstLine = true; // 读第一行不加换行符
while ((line = in.readLine()) != null)
{
if (firstLine)
{
firstLine = false;
} else
{
result += System.lineSeparator();
}
result += line;
}
} catch (Exception e)
{
e.printStackTrace();
}
return result;
}
}
云通讯
导包:CCP_REST_SMS_SDK_JAVA_v2.6.3r.jar
YunTongXunUtils.java
package com.dtgy.youguoju.utils;
import java.util.HashMap;
import com.cloopen.rest.sdk.CCPRestSmsSDK;
public class YunTongXunUtils {
// private static String serverIP="sandboxapp.cloopen.com";//测试环境地址
private static String serverIP="app.cloopen.com";//开发环境地址
private static String serverPort="8883";//端口
private static String ACCOUNT_SID="8aaf07085d7cf73f015d9ba022d2095a";//初始化主账号
private static String AUTH_TOKEN ="74e5866278ca492081533b65088bf23e";//主账号令牌
private static String App_ID ="8aaf07085d7cf73f015d9ba0233b0960";//主账号令牌
public static String TermMinute ="5";//主账号令牌
private static CCPRestSmsSDK restAPI=null;
/**
* 初始化Sdk
* @return
*/
private static CCPRestSmsSDK initRestAPI(){
if (restAPI==null) {
//初始化SDK
restAPI = new CCPRestSmsSDK();
//******************************注释*********************************************
//*初始化服务器地址和端口 *
//*沙盒环境(用于应用开发调试):restAPI.init("sandboxapp.cloopen.com", "8883");*
//*生产环境(用户应用上线使用):restAPI.init("app.cloopen.com", "8883"); *
//*******************************************************************************
restAPI.init(serverIP, serverPort);
//******************************注释*********************************************
//*初始化主帐号和主帐号令牌,对应官网开发者主账号下的ACCOUNT SID和AUTH TOKEN *
//*ACOUNT SID和AUTH TOKEN在登陆官网后,在“应用-管理控制台”中查看开发者主账号获取*
//*参数顺序:第一个参数是ACOUNT SID,第二个参数是AUTH TOKEN。 *
//*******************************************************************************
restAPI.setAccount(ACCOUNT_SID, AUTH_TOKEN);
//******************************注释*********************************************
//*初始化应用ID *
//*测试开发可使用“测试Demo”的APP ID,正式上线需要使用自己创建的应用的App ID *
//*应用ID的获取:登陆官网,在“应用-应用列表”,点击应用名称,看应用详情获取APP ID*
//*******************************************************************************
restAPI.setAppId(App_ID);
}
return restAPI;
}
/**
* 发送验证码
* @param tel 手机号
* @param code 验证码
* @param minute 时间(单位分)
* @return
*/
public static HashMap<String, Object> sendVerificationCode(String tel,String code,String minute){
CCPRestSmsSDK initRestAPI = initRestAPI();
//手机号码,模板id,参数的数组,
// result = restAPI.sendTemplateSMS("15592567073","1" ,new String[]{"6532","5"});
//模板id
String templetId="1";
HashMap<String, Object> result = null;
result = initRestAPI.sendTemplateSMS(tel,templetId ,new String[]{code,minute});
if("000000".equals(result.get("statusCode"))){
//正常返回输出data包体信息(map)
// @SuppressWarnings("unchecked")
// HashMap<String,Object> data = (HashMap<String, Object>) result.get("data");
// Set<String> keySet = data.keySet();
//成功返回空
return null;
}else{
//异常返回输出错误码和错误信息
// System.out.println("错误码=" + result.get("statusCode") +" 错误信息= "+result.get("statusMsg"));
//不成功返回hashMap
return result;
}
}
}
网友评论