您的位置:首页 > 编程语言 > Java开发

java 手机验证码功能

2015-08-19 11:45 477 查看
1、发送验证码的代码:

package com.zc.beauty.validatecode;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
* 中国网建 SMS短信通
* http://sms.webchinese.cn/api.shtml * @author zczhangjx
*/
public class SmsWebchinese{
//    GBK编码发送接口地址:
//    http://gbk.sms.webchinese.cn/?Uid=本站用户名&Key=接口安全秘钥&smsMob=手机号码&smsText=验证码:8888 //    UTF-8编码发送接口地址:
//    http://utf8.sms.webchinese.cn/?Uid=本站用户名&Key=接口安全秘钥&smsMob=手机号码&smsText=验证码:8888 private static final String GBKURL = "http://gbk.sms.webchinese.cn/"; // Gbk编码Url
private static final String UTF8URL = "http://utf8.sms.webchinese.cn/"; // Utf-8编码Url
private static final String uid = 本站用户名; // 本站用户名(如您无本站用户名请先注册)
 private String key = 注册时填写的接口秘钥 ; // 注册时填写的接口秘钥(可到用户平台修改接口秘钥)如需要加密参数,请把Key变量名改成KeyMD5,KeyMD5=接口秘钥32位MD5加密,大写。
private String phones; // 目的手机号码(多个手机号请用半角逗号隔开)
private String content; // 短信内容,最多支持400个字,普通短信70个字/条,长短信64个字/条计费

public String sendValidateCode(String phone, String validateCode) {
this.phones = phone;
this.content = "您的验证码是"+validateCode;
String inputline = null;
StringBuffer stringBuffer = new StringBuffer(UTF8URL);
// 向StringBuffer追加用户名
stringBuffer.append("?Uid="+uid);
// 向StringBuffer追加密码
stringBuffer.append("&Key="+this.key);
stringBuffer.append("&smsMob="+this.phones);
// 向StringBuffer追加消息内容转URL标准码
stringBuffer.append("&smsText="+URLEncoder.encode(content));

// 创建url对象
try {
URL url = new URL(stringBuffer.toString());
// 打开url连接
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 设置url请求方式 'get' 或者 'post'
connection.setRequestMethod("POST");
// 发送
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
// 返回发送结果
inputline = in.readLine();
} catch (MalformedURLException ex) {
Logger.getLogger(SmsWebchinese.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(SmsWebchinese.class.getName()).log(Level.SEVERE, null, ex);
}

return inputline;
}

}
2、测试代码

package com.zc.beauty.validatecode;

public class Test {
public static void main(String[] args) {       <pre name="code" class="java">    SmsWebchinese vc = new SmsWebchinese();
String status = "???";
status = vc.sendValidateCode(要发送的手机号, 要发送的验证码);
System.out.println(status);
}

}



3、控制台输出

1

表示成功发送了一条短信,可在手机上查看。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: