前言
大家好,今天给大家带来短信验证教给大家玩玩。 现在的网站获得APP基本都有短信验证码登录,感觉这个功能高大上。没错它就是高大上。 这次演示的示例使用SSH框架做的Java项目来演示,后期各位伙伴学会了再把这个功能加到自己的项目中。
准备工作
编辑器:eclipse, 手机一台, 电脑一台而且还要带网。
实践
现在先介绍一个网站给大家,就是中国网建官网。首先我们进入这个网址。我们与短信验证的故事从这个发源……。
首先先注册
按信息填写注册,特别注意短信验证码就是你这个账号的密码,注册成功之后可以修改的。然后登陆
注意:这里面有个手机验证码发过来,这个验证码就是你这个账号的简易密码。后期伙伴根据自己需要再修改吧。输入完验证码之后就成功登录进来,新注册用户有免费的5条短信额。我这个是已经发过一条的了,所以是4条。
回到正题,点击《用户信息修改》填写这些信息,然后保存信息。还有需要改密码的,在这个上面就可以改了,旧密码就是刚注册的那个验证码哦。
点击《修改短信秘钥》,一般情况是不需要修改的。
点击《短信API接口》跳转页面
然后往下来,大概拉到这个地方
我们这次使用Java示例,伙伴们可根据需要选示例哈! 然后下载这三个jar包
因为我这次是放在SSH框架的项目里,所以才会有那么多包。新建一个类,放在一个这个包里,jar包就放在lib里面就可以了。
源码
package com.bdqn.it.util;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
public class SmsUtil {
public static void main(String[] args) {
// 各位伙伴,这里是接收验证码的手机号和生成的随机验证码,本次直接输入来做测试
int n = SmsUtil.send("接收的手机号码", "验证码:666666");
System.out.println(n);
}
public static int send(String mob, String msg){
try {
// 模仿浏览器对外发送请求获取响应
HttpClient client = new HttpClient();
// 制造一个post请求
PostMethod post = new PostMethod("http://utf8.api.smschinese.cn");
// 在头文件中设置转码,等效于写了一个form表单 --> <form action="http://utf8.api...."
// enctype="application/x-www-form-urlencoded;charset=utf-8">
post.addRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
// 还有这里uid是你的用户名,key是短信秘钥,都是字符串格式
NameValuePair[] data = { new NameValuePair("Uid", 你的用户名),
new NameValuePair("Key", 你的短信秘钥),
new NameValuePair("smsMob", mob),
new NameValuePair("smsText", msg)};
// 把四个参数放到post请求中,准备提交
post.setRequestBody(data);
client.executeMethod(post);
// 从post请求中请求完之后返回结果
String result = new String(post.getResponseBodyAsString().getBytes("utf-8"));
int r = Integer.parseInt(result);
// 关闭连接
post.releaseConnection();
// 返回状态值
return r;
} catch (Exception e) {
throw new RuntimeException("短信发送失败", e);
}
}
}
然后运行,控制台输出1说明成功发送,如果是其他数字的话,各位伙伴可以去《短信API接口》那个页面查看相对应的返回状态码