java短信接口,支持发送验证码短信

package com.mile.util.tool;

//接口类型:互亿无线触发短信接口,支持发送验证码短信、订单通知短信等。 // 账户注册:请通过该地址开通账户http://sms.ihuyi.com/register.html // 注意事项: //(1)调试期间,请用默认的模板进行测试,默认模板详见接口文档; //(2)请使用APIID(查看APIID请登录用户中心->验证码短信->产品总览->APIID)及 APIkey来调用接口; //(3)该代码仅供接入互亿无线短信接口参考使用,客户可根据实际需要自行编写;

import org.apache.commons.httpclient.HttpClient;

import org.apache.commons.httpclient.HttpException;

import org.apache.commons.httpclient.NameValuePair;

import org.apache.commons.httpclient.methods.PostMethod;

import org.apache.log4j.Logger;

import org.dom4j.Document;

import org.dom4j.DocumentException;

import org.dom4j.DocumentHelper;

import org.dom4j.Element;

import org.json.JSONException;

import org.json.JSONObject;

import java.io.IOException;

public class SendSmsUtil {

private static final Logger logger = Logger.getLogger(SendSmsUtil.class);

private static String SMS_URL = "http://106.ihuyi.cn/webservice/sms.php?method=Submit";

public static JSONObject send(String phoneNumber) throws Exception {

    int mobile_code = (int) ((Math.random() * 9 + 1) * 100000);

    String content = new String("您的验证码是:" + mobile_code + "。请不要把验证码泄露给其他人。");

    JSONObject result = send(phoneNumber, content);

    JSONUtil.putJsonData(result, "mobile_code", mobile_code);

    return result;

}

public static JSONObject send(String phoneNumber, String content) throws Exception {

    HttpClient client = new HttpClient();

    PostMethod method = new PostMethod(SMS_URL);

    client.getParams().setContentCharset("GBK");

    method.setRequestHeader("ContentType", "application/x-www-form-urlencoded;charset=GBK");

    String account = "";//ResourceUtil.getConfigByName("smsAPIID");

    String password = "";//ResourceUtil.getConfigByName("smsAPIKEY");

    NameValuePair[] data = {//提交短信

            new NameValuePair("account", account), //查看用户名是登录用户中心->验证码短信->产品总览->APIID

            new NameValuePair("password", password),  //查看密码请登录用户中心->验证码短信->产品总览->APIKEY

            new NameValuePair("mobile", phoneNumber),

            new NameValuePair("content", content),

    };

    method.setRequestBody(data);

    try {

        client.executeMethod(method);

        String SubmitResult = method.getResponseBodyAsString();

        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);

        JSONObject result = new JSONObject();

        result.put("code", code);

        result.put("msg", msg);

        result.put("smsid", smsid);

        return result;

    } catch (HttpException e) {

        // TODO Auto-generated catch block

        e.printStackTrace();

        logger.error("发送短信失败", e);

        throw new Exception("发送短信失败", e);

    } catch (IOException e) {

        // TODO Auto-generated catch block

        e.printStackTrace();

        logger.error("发送短信失败", e);

        throw new Exception("发送短信失败", e);

    } catch (DocumentException e) {

        // TODO Auto-generated catch block

        e.printStackTrace();

        logger.error("发送短信失败", e);

        throw new Exception("发送短信失败", e);

    } catch (JSONException e) {

        e.printStackTrace();

        logger.error("发送短信失败", e);

        throw new Exception("发送短信失败", e);

    }

}

public static void main(String[] args) {

    try {

        send("13682427674 app");

    } catch (Exception e) {

        e.printStackTrace();

    }

}

}

你可能感兴趣的:(java短信接口,支持发送验证码短信)