验证码,语音验证码

it2022-05-05  93

//发送语音验证码接口的http地址 private static String URI_SEND_VOICE = "https://voice.yunpian.com/v1/voice/send.json";

//智能匹配模版发送接口的http地址 private static String URI_SEND_SMS = "https://sms.yunpian.com/v1/sms/send.json";

 

/** * 通过接口发送语音验证码 * @param apikey apikey * @param mobile 接收的手机号 * @param code 验证码 * @return */

public static String sendVoice(String apikey, String mobile, String code) { Map<String, String> params = new HashMap<String, String>(); params.put("apikey", apikey); params.put("mobile", mobile); params.put("code", code); return post(URI_SEND_VOICE, params); } public static boolean smsSendVoice(String mobile, String code){ boolean flag = false; try { String result = SmsUtil.sendVoice(AppConfig.apiKey, mobile, code); logger.info(result); JSONObject obj = JSONObject.fromObject(result); int respCode = (Integer)obj.get("code"); String msg = obj.get("msg")==null?"检测您发送短信频率过高,请您稍后再试":(String)obj.get("msg"); logger.info("code: " + respCode + "; msg: " + msg ); if(respCode == 0 && null != msg && "OK".equals(msg)) { flag = true; }} catch (Exception e) { // TODO: handle exception logger.error("SmsUtil.smsSendVoice IOException", e); } return flag; } //发送密码接口 public static boolean SmsApiForPwd(String userPhone, String pwd) { StringBuffer textBuffer = new StringBuffer(); textBuffer.append("【畅的充电】您的密码是").append(pwd).append(",").append("请您妥善保管"); String text = textBuffer.toString(); boolean flag = false; try { String mobile = URLEncoder.encode(userPhone, ENCODING); String result = SmsUtil.sendSms(AppConfig.apiKey, text, mobile); logger.info(result); JSONObject obj = JSONObject.fromObject(result); int respCode = (Integer)obj.get("code"); String msg = (String)obj.get("msg"); logger.info("code: " + respCode + "; msg: " + msg ); if(respCode == 0 && null != msg && "OK".equals(msg)) { flag = true; } } catch (UnsupportedEncodingException e1) { // TODO Auto-generated catch block logger.error("SmsUtil.SmsApi UnsupportedEncodingException", e1); } catch (IOException e) { // TODO Auto-generated catch block logger.error("SmsUtil.SmsApi IOException", e); } return flag; } //发送验证码接口 public static boolean SmsApi(String userPhone, String code) { StringBuffer textBuffer = new StringBuffer(); textBuffer.append("【畅的充电】您的验证码是").append(code).append(",").append(AppConfig.expire_date).append("分钟内有效。若非本人操作请忽略此消息。"); String text = textBuffer.toString(); boolean flag = false; try { String mobile = URLEncoder.encode(userPhone, ENCODING); String result = SmsUtil.sendSms(AppConfig.apiKey, text, mobile); logger.info(result); JSONObject obj = JSONObject.fromObject(result); int respCode = (Integer)obj.get("code"); String msg = obj.get("msg")==null?"检测您发送短信频率过高,请您稍后再试":(String)obj.get("msg"); logger.info("code: " + respCode + "; msg: " + msg ); if(respCode == 0 && null != msg && "OK".equals(msg)) { flag = true; } } catch (UnsupportedEncodingException e1) { // TODO Auto-generated catch block logger.error("SmsUtil.SmsApi UnsupportedEncodingException", e1); } catch (IOException e) { // TODO Auto-generated catch block logger.error("SmsUtil.SmsApi IOException", e); } return flag; } /** * 智能匹配模版接口发短信 * * @param apikey apikey * @param text  短信内容 * @param mobile  接受的手机号 * @return json格式字符串 * @throws IOException */

public static String sendSms(String apikey, String text, String mobile) throws IOException { Map<String, String> params = new HashMap<String, String>(); params.put("apikey", apikey); params.put("text", text); params.put("mobile", mobile); return post(URI_SEND_SMS, params); } /** * 基于HttpClient 4.3的通用POST方法 * * @param url 提交的URL * @param paramsMap 提交<参数,值>Map * @return 提交响应 */

public static String post(String url, Map<String, String> paramsMap) { CloseableHttpClient client = HttpClients.createDefault(); String responseText = ""; CloseableHttpResponse response = null; try { HttpPost method = new HttpPost(url); if (paramsMap != null) { List<NameValuePair> paramList = new ArrayList<NameValuePair>(); for (Map.Entry<String, String> param : paramsMap.entrySet()) { NameValuePair pair = new BasicNameValuePair(param.getKey(), param.getValue()); paramList.add(pair); } method.setEntity(new UrlEncodedFormEntity(paramList, ENCODING)); } response = client.execute(method); HttpEntity entity = response.getEntity(); if (entity != null) { responseText = EntityUtils.toString(entity); } } catch (Exception e) { e.printStackTrace(); } finally { try { response.close(); } catch (Exception e) { e.printStackTrace(); } } return responseText; }

 

public String getSecurityCode() { String securityCode = ""; for(int i=0 ; i<4 ; i++) { securityCode += UmsConfig.intArray[(int) Math.floor(Math.random()*10)]; } return securityCode; }

/** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub//System.out.println(3); SmsUtil.SmsApi("153********", "999999");// String str = "{'code':0,'msg':'OK','result':{'count':1,'fee':0.055,'sid':5033613460}}";// JSONObject obj = JSONObject.fromObject(str);// System.out.println((Integer)obj.get("code"));// System.out.println((String)obj.get("msg")); }

转载于:https://www.cnblogs.com/whb11/p/6923320.html

相关资源:图片验证码 语音

最新回复(0)