Java实现SMS短信通发送手机验证码案例讲解
作者:_Switch 时间:2022-05-14 22:37:57
注册网建短信通账号
链接:http://sms.webchinese.cn/
设置短信签名
注意不要乱写别的公司等,会被视为 *
设置短信密钥,发送时代替密码
Java方式实现
导入依赖 commons-httpclient-3.1.jar
编写SmsUtil工具类
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
public class SmsUtil {
private String uid;
private String key;
//用于后面的Spring注入方式实现
public int sendSms(String smsMob,String smsTxt ){
return sendSms(this.uid,this.key,smsMob,smsTxt);
}
public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public static void main(String[] args){
int n=sendSms("用户名","密钥","手机号","短信内容");
//如int n=sendSms("abc","55555","11234567574","验证码:8899");
//返回的是发送成功的短信条数
System.out.println("发送成功:"+n);
}
public static int sendSms(String uid,String key,String smsMob,String smsTxt )
{
PostMethod post =null;
try {
HttpClient client = new HttpClient();
post = new PostMethod("http://utf8.api.smschinese.cn");
post.addRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf8");//在头文件中设置转码
NameValuePair[] data = {
new NameValuePair("Uid", uid)
, new NameValuePair("Key", key)
, new NameValuePair("smsMob", smsMob)
, new NameValuePair("smsText", smsTxt)};
post.setRequestBody(data);
client.executeMethod(post);
return Integer.parseInt(post.getResponseBodyAsString());
}catch (Exception ex){
ex.printStackTrace();
throw new RuntimeException(ex);
}
finally {
post.releaseConnection();
}
}
}
前端交互
使用Spring进行注入
在applicationContext增加配置
定义用户名和密钥
编写控制层代码
到此这篇关于Java实现SMS短信通发送手机验证码案例讲解的文章就介绍到这了,更多相关Java实现SMS短信通发送手机验证码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
来源:https://blog.csdn.net/weixin_43981590/article/details/119296295
标签:Java,SMS,短信
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Java持久化XML文件配置解析
2022-06-27 13:45:07
基于spring-boot和docker-java实现对docker容器的动态管理和监控功能[附完整源码下载]
2022-02-04 00:41:18
![](https://img.aspxhome.com/file/2023/6/82446_0s.png)
详解C#中的属性和属性的使用
2023-12-03 09:51:39
SpringBoot资源文件的存放位置设置方式
2023-02-26 10:37:00
![](https://img.aspxhome.com/file/2023/0/84240_0s.png)
使用反射方式获取JPA Entity的属性和值
2023-07-24 17:43:22
Flow转LiveData数据丢失原理详解
2023-05-20 10:22:25
![](https://img.aspxhome.com/file/2023/1/96761_0s.jpg)
Java BigDecimal使用方法详解
2022-03-28 03:45:23
java集合框架的体系结构详细说明
2021-10-24 10:33:29
Android自定义view实现圆形与半圆形菜单
2023-10-18 19:08:53
![](https://img.aspxhome.com/file/2023/8/115988_0s.gif)
Java文件操作工具类fileUtil实例【文件增删改,复制等】
2023-11-28 08:39:00
java图片添加水印实例代码分享
2022-06-10 04:06:03
完美解决gson将Integer默认转换成Double的问题
2022-06-06 00:53:36
深入探究如何使用Java编写MapReduce程序
2022-10-17 18:40:04
![](https://img.aspxhome.com/file/2023/7/66047_0s.webp)
C#实现文件上传及文件下载功能实例代码
2022-12-13 23:57:23
Java线程并发访问代码分析
2022-08-15 17:42:08
![](https://img.aspxhome.com/file/2023/6/113256_0s.jpg)
MyBatis if test 判断字符串相等不生效问题
2021-10-11 22:42:01
Android使用AIDL方式实现播放音乐案例
2022-01-04 23:58:40
c#求范围内素数的示例分享(c#求素数)
2022-07-09 22:20:10
Java 你知道什么是耦合、如何解(降低)耦合
2022-03-23 08:44:19
C#使用iTextSharp操作PDF
2023-07-29 02:03:11
![](https://img.aspxhome.com/file/2023/4/98154_0s.png)