短信验证码接口的实现
来源:互联网 发布:mysql 删除表怎么恢复 编辑:程序博客网 时间:2024/05/19 13:16
代码:
sendsms.java
//接口类型:互亿无线触发短信接口,支持发送验证码短信、订单通知短信等。// 账户注册:请通过该地址开通账户http://sms.ihuyi.com/register.html// 注意事项://(1)调试期间,请用默认的模板进行测试,默认模板详见接口文档;//(2)请使用APIID(查看APIID请登录用户中心->验证码、通知短信->帐户及签名设置->APIID)及 APIkey来调用接口,APIkey在会员中心可以获取;import java.io.IOException;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.dom4j.Document; import org.dom4j.DocumentException;import org.dom4j.DocumentHelper; import org.dom4j.Element; public class sendsms {private static String Url = "http://106.ihuyi.cn/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"), //查看用户名请登录用户中心->验证码、通知短信->帐户及签名设置->APIID new 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;}}
用户收到的短信验证码:
阅读全文
0 0
- 短信验证码接口的实现
- http接口实现短信发送验证码
- java后台调用短信接口,实现发送短信验证码的控制层实现
- 使用56短信网接口实现发送短信验证码
- JAVA接入短信接口,实现短信验证码功能
- 集成速达移动106短信接口的短信验证码实现
- 短信验证码的实现
- 短信验证的实现
- 短信验证的实现
- 网易云短信接口 ---- 短信验证码
- 使用第三方平台短信接口实现发送验证码
- 如何实现全国全网验证码类短信接口的调用?
- 如何实现全国全网验证码类短信接口的调用?
- 实现短信验证码
- ios利用短信SKD实现短信验证(使用mob网站提供的免费接口)
- 短信返回验证码功能的实现
- android 短信验证码的实现
- 发送短信验证码按钮的实现
- Android TextView 添加下划线的几种方式
- PAT乙级 1005. 继续(3n+1)猜想 (25)
- Android中activity到fragment的数据传输
- ehcache基本配置
- perl连接mysql
- 短信验证码接口的实现
- CefSharp语言(Locales)配置问题
- 多线程(上)
- 位操作-leetcode 461 Hamming Distance
- Promoise 的相关知识
- 内存池
- Redis安装部署与维护详解
- activiti初识25张表------HelloWorld
- 利用CGI环境变量和符号链接减小CGI程序体积