码迷,mamicode.com
首页 > 编程语言 > 详细

Java --webservice发送验证短信

时间:2015-10-10 12:52:57      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:

一、短信平台 --莫名短信

www.duanxin.cm/api.html

该平台可以加后缀和自己定义发送内容,用户接收到的短信示例如下:

123456【圈圈科技】

二、webservice核心代码

这个是springMVC框架下的实现层代码,注释都在里面

@Service
public class SendPhoneMessageServiceImpl implements SendPhoneMessageService{
    
    @Autowired
    private MessageMapper messageMapper;
    
    public ResultObject sendSMS(SMSParams message)
    {
        ResultObject resultObject = new ResultObject();
        resultObject.setResultCode(ResultCode.FAILED);
        
        //手机号码有效性判断
        if(!isMobile(message.getPhoneNumber())){
            resultObject.setResultMsg(ResultMsg.MSG_CHECKPHONE_FAILED);
            return resultObject;
        }
        
        //获取发送短信所需参数
        // 账号
        String smsAccount = "";
        // 密码
        String smsPwd = "";
        // 接口地址
        String smsURL = "";
        // 发送内容
        String smsContent = "";
        
        SMSInfo messageInfo = messageMapper.getSMSInfo();
        
        if(messageInfo != null)
        {
            //赋值
            smsAccount = messageInfo.getSmsAccount();
            smsPwd     = messageInfo.getSmsPwd();
            smsURL     = messageInfo.getSmsUrl();
            smsContent = messageInfo.getSmsContent();
                    
            //发送内容、地址不为空的情况
            if(!smsAccount.isEmpty() && !smsURL.isEmpty() && smsURL.indexOf("{ACCOUNT}") != -1)
            {
                try{
                    smsContent = URLEncoder.encode(smsContent,"UTF-8");
                }catch (UnsupportedEncodingException e)
                {
                    e.printStackTrace();
                }
                //用取到的数据代替设置的
                smsURL = smsURL.replace("{ACCOUNT}", smsAccount)
                        .replace("{PWD}", smsPwd)
                        .replace("{PHONE}", message.getPhoneNumber())
                        .replace("{MESSAGE}",smsContent);
            }
            // 发送短息
            System.out.println(smsURL);
            String retValue = requestURL(smsURL,"UTF-8");
            if(retValue.equals("100")){
                //发送成功
                resultObject.setResultCode(ResultCode.SUCCESS);
                resultObject.setResultMsg(ResultMsg.MSG_SEND_SUCCESS);
            }else{
                resultObject.setResultMsg(ResultMsg.MSG_GETSMSINFO_FAILED);
            }
        }else
        {
            resultObject.setResultMsg(ResultMsg.MSG_GETSMSINFO_FAILED);
        }
        
        return resultObject;
    }
    
    
    /** 
     * 手机号验证 
     *  
     * @param  str 
     * @return 验证通过返回true 
     */  
    public static boolean isMobile(String str) {   
        Pattern p = null;
        Matcher m = null;
        boolean b = false;
     // 验证手机号 
        p = Pattern.compile("^[1][3,4,5,7,8][0-9]{9}$"); 
        m = p.matcher(str);
        b = m.matches();
        return b;
    }
    
    /** 
     * 网络请求
     *  
     * @param  String str 请求的网页地址
     * @param  String charSet 编码格式
     * @return String 网页返回值
     */
    private String requestURL(String URLStr, String charSet){
        // 网络的url地址 
        URL url = null;
        // 输入流
        BufferedReader in = null;
        StringBuffer sb = new StringBuffer();
        try{

            url = new URL(URLStr);
            in = new BufferedReader( new InputStreamReader(url.openStream(),charSet) );
            String str = null;
            while((str = in.readLine()) != null) {
                    sb.append(str);
            }
        } catch (Exception ex) {
            ex.printStackTrace();
            System.out.println(ex.getMessage());
        } finally{
            try{
                if(in!=null) {
                    in.close();
                }
            }catch(Exception ex) {
            }
        }
        String result = sb.toString();
        System.out.println(result);

        return result;
    }


Java --webservice发送验证短信

标签:

原文地址:http://my.oschina.net/u/2312022/blog/515129

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!