欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

短信验证登录

程序员文章站 2022-05-31 17:17:43
...

前言

大家好,今天给大家带来短信验证教给大家玩玩。
现在的网站获得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接口》那个页面查看相对应的返回状态码
短信验证登录短信验证登录

相关标签: 短信验证