1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 短信验证码接口的实现

短信验证码接口的实现

时间:2023-08-12 15:44:26

相关推荐

短信验证码接口的实现

代码:

sendsms.java

//接口类型:互亿无线触发短信接口,支持发送验证码短信、订单通知短信等。// 账户注册:请通过该地址开通账户/register.html// 注意事项://(1)调试期间,请用默认的模板进行测试,默认模板详见接口文档;//(2)请使用APIID(查看APIID请登录用户中心->验证码、通知短信->帐户及签名设置->APIID)及 APIkey来调用接口,APIkey在会员中心可以获取;import java.io.IOException;import mons.httpclient.HttpClient;import mons.httpclient.HttpException;import mons.httpclient.NameValuePair;import mons.httpclient.methods.PostMethod;import org.dom4j.Document; import org.dom4j.DocumentException;import org.dom4j.DocumentHelper; import org.dom4j.Element; public class sendsms {private static String Url = "/webservice/sms.php?method=Submit";public static void main(String [] args) {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", "C22613578"), //查看用户名请登录用户中心->验证码、通知短信->帐户及签名设置->APIIDnew NameValuePair("password", "6dd1851e2511a426ee60a8b7177d33e"), //查看密码请登录用户中心->验证码、通知短信->帐户及签名设置->APIKEY//new NameValuePair("password", util.StringUtil.MD5Encode("密码")), //根据需要,可能要对密码进行加密new NameValuePair("mobile", "18953532734"), //要发送验证码的手机号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("短信提交成功");}} catch (HttpException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (DocumentException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

StringUtil.java(工具类,备用)

package util;import java.security.MessageDigest;public class StringUtil {public static String str;public static final String EMPTY_STRING = "";private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5","6", "7", "8", "9", "A", "B", "C", "D", "E", "F" };private static String byteToHexString(byte b) {int n = b;if (n < 0)n = 256 + n;int d1 = n / 16;int d2 = n % 16;return hexDigits[d1] + hexDigits[d2];}/*** 转换字节数组为16进制字串* @param b 字节数组* @return 16进制字串*/public static String byteArrayToHexString(byte[] b) {StringBuffer resultSb = new StringBuffer();for (int i = 0; i < b.length; i++) {resultSb.append(byteToHexString(b[i]));}return resultSb.toString();}public static String MD5Encode(String origin) {String resultString = null;try {resultString = new String(origin);MessageDigest md = MessageDigest.getInstance("MD5");resultString = byteArrayToHexString(md.digest(resultString.getBytes()));} catch (Exception ex) {}return resultString;}}

用户收到的短信验证码:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。