package org.example.Test;
/**
* @ 开发环境:IntelliJ IDEA
* @ 项目名称:My
* @ 作者:ALIM- MASTIK
* @ 邮箱:1269802307@qq.com
* @ 创建时间:2023/10/24 22:57
*/
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class SmsSample {
public static void main(String[] args) {
String testUsername = "alim"; //在短信宝注册的用户名
String testPassword = "xxxxxxx"; //在短信宝注册的密码
String testPhone = "133xxxxxxx";
String testContent = "【xxxxxxxxx】您的验证码是"+getRandomSix()+",5分钟内有效。若非本人操作请忽略此消息。"; // 注意测试时,也请带上公司简称或网站签名,发送正规内容短信。千万不要发送无意义的内容:例如 测一下、您好。否则可能会收不到
String httpUrl = "http://api.smsbao.com/sms";
StringBuffer httpArg = new StringBuffer();
httpArg.append("u=").append(testUsername).append("&");
httpArg.append("p=").append(md5(testPassword)).append("&");
httpArg.append("m=").append(testPhone).append("&");
httpArg.append("c=").append(encodeUrlString(testContent, "UTF-8"));
String result = request(httpUrl, httpArg.toString());
System.out.println(result);
}
public static String request(String httpUrl, String httpArg) {
BufferedReader reader = null;
String result = null;
StringBuffer sbf = new StringBuffer();
httpUrl = httpUrl + "?" + httpArg;
try {
URL url = new URL(httpUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
InputStream is = connection.getInputStream();
reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
String strRead = reader.readLine();
if (strRead != null) {
sbf.append(strRead);
while ((strRead = reader.readLine()) != null) {
sbf.append("\n");
sbf.append(strRead);
}
}
reader.close();
result = sbf.toString();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public static String md5(String plainText) {
StringBuffer buf = null;
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(plainText.getBytes());
byte b[] = md.digest();
int i;
buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return buf.toString();
}
public static String encodeUrlString(String str, String charset) {
String strret = null;
if (str == null)
return str;
try {
strret = java.net.URLEncoder.encode(str, charset);
} catch (Exception e) {
e.printStackTrace();
return null;
}
return strret;
}
public static int getRandomSix() {
return (int)(Math.random()*(999999-100000+1)+100000);
}
}http://idea.hicxy.com/?spm=a2c6h.12873639.article-detail.7.2770d8e4MzhEQD
发短信验证码实例
于 2023-10-24 23:28:03 首次发布