Java调用短信验证码
来源:互联网 发布:炒股什么软件好 编辑:程序博客网 时间:2024/06/05 09:28
问题?Java调用短信验证码,ASP、C#、Delphi、JSP、PHP、VB6也可以调用短信验证码
最近在做短信验证码的功能,在网上查找了半天,发现好多都是copy去copy来的,都看烦,到最后,直接去短信开发商那里,找了一个WebService的接口调用,就可以了。其实很多的短信验证码都是通过中介短信服务商来做的。
我用的这个是属于一个叫亿互无线的短信服务商,每天有几条短信测试。
官网:http://www.ihuyi.com/product.php
资源包下载:点击下载链接
导包:基础包,只要是短信WebService几乎都用到前面三个包。
调用代码:
package com.itcast.note;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;import com.itcast.util.StringUtil;public class NoteTest2 {private static String Url = "http://106.ihuyi.cn/webservice/sms.php?method=Submit";//该例子是成功的,使用的是http://www.ihuyi.com/product.php,该亿互无线网站的接口public static void main(String[] args) {HttpClient client = new HttpClient();PostMethod method = new PostMethod(Url);// client.getParams().setContentCharset("GBK");client.getParams().setContentCharset("UTF-8");method.setRequestHeader("ContentType","application/x-www-form-urlencoded;charset=UTF-8");int mobile_code = (int) ((Math.random() * 9 + 1) * 100000);System.out.println("验证码:"+mobile_code);// System.out.println(mobile);String content = new String("您的验证码是:" + mobile_code + "。请不要把验证码泄露给其他人。");NameValuePair[] data = {// 提交短信new NameValuePair("account", "用户名"),//去官网注册的一下即可new NameValuePair("password", "密码"), // 密码可以使用明文密码或使用32位MD5加密// new NameValuePair("password",// util.StringUtil.MD5Encode("密码")),new NameValuePair("mobile", "电话号码"),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();}}}
MD5加密工具类:这个官方写的,用来向官网接口服务商发送用户密码加密的。可以用明文,也可以用密文
package com.itcast.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;}}
就要一个简单的调用WebService接口就可以实现。剩下的就是做网页扩展啊,把验证码放到session或者application域对象中,当提交表单数据的时候,取出来验证即可。有啥不懂的,可以Call Me
0 0
- Java调用短信验证码
- JAVA通过http调用验证码短信接口源码
- java叮咚云短信验证码接口调用
- JAVA调用云平台短信验证接口
- java后台调用短信接口,实现发送短信验证码的控制层实现
- java实现短信验证码
- java实现短信验证码
- java发送短信验证码
- java短信验证码实现
- java 短信发送验证码
- java发送短信验证码
- Java实现短信验证码
- java实现短信验证码
- 验证码短信接口受到恶意调用
- 短信接口调用-手机短信,验证码
- soapui调用redis,获取短信验证码
- JAVA接入短信接口,实现短信验证码功能
- java后台获取短信验证码
- 理解Python中的With...as...语法
- Julia: @generated=>多姿多彩!
- Adapter类型控件之Adapter(数据适配器)
- ReactJS学习系列课程(React学习总结)
- 分治法的基本思想与例子解析
- Java调用短信验证码
- 反向代理及请求负载均衡Nginx开发搭建
- Kali Rolling Virtualbox5 SSH+Guest Addition增强包
- UVA - 489 Hangman Judge :模拟···WA了N次
- Linux 给history加时间戳
- Arquillian+JavaEE+wildfly +eclipse +Maven搭建单元测试基础环境
- phpcms实现图文分离,文件上传到远程服务器的方法
- 关于UIPickerView改变尺寸
- Activity的四种launchMode