美文网首页
java 发送短信

java 发送短信

作者: 吃猫的鱼0 | 来源:发表于2018-02-02 11:09 被阅读0次

秒滴云

导包: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 + "&param=" + 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 "&timestamp=" + 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;
        }
    }
}

相关文章

  • 调用阿里云短信服务

    AliShortMessage.java 发短信工具 测试短信发送

  • java 发送短信

    秒滴云 导包:commons-codec-1.9.jar MiaoDiYunUtils.java 云通讯 导包:C...

  • android 发送短信的两种方式

    android中可以通过两种方式发送短信 第一:调用系统短信接口直接发送短信;主要代码如下: Java代码 /**...

  • 短信发送流程

    短信发送流程 ComposeMessageActivity.java 当点击发送按钮的时候 ComposeMess...

  • java 发送短信 SMS

    项目中有发送短信的功能,所有自己也新建了一个方法试验一下。 其实也就是直接把SMS网站(地址在下面)的代码拷下来运...

  • JAVA实现发送短信

    调用的为阿里云API 我使用的框架是SpringBoot框架 短信购买地址 https://market.aliy...

  • 24 java发送短信

    发送短信平台有很多,我们这里选择网建短信通。 1、操作步骤 1.1 准备工作 在http://www.webchi...

  • iApp利用sit直接拨打电话和发短信

    1、直接拨打电话 2、直接发短信<由于防止恶意发短信不提供直接发短信方法> 3.调用Java直接发送短信 --调用...

  • C#发送短信验证码

    业务: 手机端点击发送验证码,请求发送到java服务器端,由java调用榛子云短信接口,生成验证码并发送。 ...

  • java发送手机短信

    其实也就是调用一个http的接口而已public static void main(String[] args) ...

网友评论

      本文标题:java 发送短信

      本文链接:https://www.haomeiwen.com/subject/gfiuoxtx.html