java发送短信功能工具类及思路详解

来源:互联网 发布:恒生软件待遇 编辑:程序博客网 时间:2024/06/05 18:04

//发送短信功能的思路 下面则是工具类
异常返回0 发送短信失败可以result==0进行判断 则 返回失败信息
如果成功 则返回验证码信息 可以存session
并设置session时间 session.setMaxInactiveInterval(60*5);
设置session时间 后期验证可以获取session 如果session为空
则验证码已经过期 否则等于session则设置session为空 并返回成功

package com.kero99.ygc.sms;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.NameValuePair;import org.apache.commons.httpclient.methods.PostMethod;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;/** *   接口类型:互亿无线触发短信接口,支持发送验证码短信、订单通知短信等。 *   账户注册:请通过该地址开通账户http://sms.ihuyi.com/register.html *   注意事项: *  (1)调试期间,请用默认的模板进行测试,默认模板详见接口文档; *  (2)请使用APIID(查看APIID请登录用户中心->验证码、通知短信->帐户及签名设置->APIID)及 APIkey来调用接口,APIkey在会员中心可以获取; *  (3)该代码仅供接入互亿无线短信接口参考使用,客户可根据实际需要自行编写; */public class SendUtils {    private static String Url = "http://106.ihuyi.cn/webservice/sms.php?method=Submit";    public static int sendSms(String phone){        HttpClient client = new HttpClient();        PostMethod method = new PostMethod(Url);        client.getParams().setContentCharset("GBK");        method.setRequestHeader("ContentType","application/x-www-form-urlencoded;charset=GBK");        int mobile_code = (int)((Math.random()*9+1)*100000);        String content = new String("您的验证码是:" + mobile_code + "。请不要把验证码泄露给其他人。");        NameValuePair[] data = {//提交短信                new NameValuePair("account", "C72562***"), //查看用户名请登录用户中心->验证码、通知短信->帐户及签名设置->APIID                new NameValuePair("password", "ad95c26915ec51bd68d87a72***"),  //查看密码请登录用户中心->验证码、通知短信->帐户及签名设置->APIKEY                //new NameValuePair("password", util.StringUtil.MD5Encode("密码")),                new NameValuePair("mobile", phone), //手机号码                new NameValuePair("content", content), //内容        };        method.setRequestBody(data);        try {            client.executeMethod(method);            String SubmitResult =method.getResponseBodyAsString();            System.out.println(SubmitResult);            Document doc = DocumentHelper.parseText(SubmitResult);            Element root = doc.getRootElement();            String code = root.elementText("code");            String msg = root.elementText("msg");            String smsid = root.elementText("smsid");            System.out.println(code);            System.out.println(msg);            System.out.println(smsid);             if("2".equals(code)){                System.out.println("短信提交成功");                return mobile_code;                }else return 0;        } catch (Exception e) {            e.printStackTrace();            return 0;        }    }    //测试    public static void main(String[] args) {        sendSms("13521******");    }}
原创粉丝点击