java验证webservice_Java --webservice发送验证短信

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

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

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 = pile("^[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;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值