问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

实现第三方短信接口的工具类怎么写

发布网友 发布时间:2022-04-22 12:50

我来回答

1个回答

热心网友 时间:2023-06-28 16:25

package com.szqbl.qxfz.io;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.URIException;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.util.URIUtil;
import org.apache.commons.lang3.StringUtils;

import com.szqbl.lib.util.MD5Util;

public class SMSUtil {

public static void sendSMS_GM(List<String> mobileno, String content) {

String eprId = "***";
String userId = "******";//用户名
String pwd = "******";//密码
long timestamp = System.currentTimeMillis();
int msgId = (int) (Math.random() * 1000);
String key = MD5Util.string2MD5(eprId + userId + pwd + timestamp);
String mobile = "";
for (String tel : mobileno) {
mobile += isMobile(tel) ? tel + "," : "";
}
if (StringUtils.isNotEmpty(mobile)) {
mobile = mobile.substring(0, mobile.length() - 1);
}
String url = "http://client.sms10000.com/***";
String parmString = "?cmd=send&eprId=" + eprId + "&userId=" + userId + "&key=" + key + "&timestamp=" + timestamp
+ "&format=1&mobile=" + mobile + "&msgId=" + msgId + "&content=" + content;

// 发送短信
String result = doGet(url, parmString, "utf-8", false);
System.out.println(result);
}

/**
 * 手机号验证
 * 
 * @param str
 * @return 验证通过返回true
 */
public static boolean isMobile(String str) {
Pattern p = null;
Matcher m = null;
boolean b = false;
p = Pattern.compile("^[1][3,4,5,8][0-9]{9}$"); // 验证手机号
m = p.matcher(str);
b = m.matches();
return b;
}

/**
 * 执行一个HTTP GET请求,返回请求响应的HTML
 * 
 * @param url
 *            请求的URL地址
 * @param queryString
 *            请求的查询参数,可以为null
 * @param charset
 *            字符集
 * @param pretty
 *            是否美化
 * @return 返回请求响应的HTML
 */
public static String doGet(String url, String queryString, String charset, boolean pretty) {
StringBuffer response = new StringBuffer();
HttpClient client = new HttpClient();
HttpMethod method = new GetMethod(url);
try {
if (queryString != null && !queryString.equals(""))
// 对get请求参数做了http请求默认编码,好像没有任何问题,汉字编码后,就成为%式样的字符串
method.setQueryString(URIUtil.encodeQuery(queryString));
client.executeMethod(method);
if (method.getStatusCode() == HttpStatus.SC_OK) {
BufferedReader reader = new BufferedReader(
new InputStreamReader(method.getResponseBodyAsStream(), charset));
String line;
while ((line = reader.readLine()) != null) {
if (pretty)
response.append(line).append(System.getProperty("line.separator"));
else
response.append(line);
}
reader.close();
}
} catch (URIException e) {
} catch (IOException e) {
} finally {
method.releaseConnection();
}
return response.toString();
}

public static void main(String[] args) throws Exception {
List<String> tels = new ArrayList<String>();
tels.add("18288888888");
sendSMS_GM(tels, "短信main测试!");
}
}

这个得根据你的短信接口文档来,大概也就这样,写的比较简单,忘采纳!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎么把苹果电脑安装到固态硬盘苹果笔记本可以换成固态硬盘吗_百度知 ... 营转非的车保险和私车一样吗? 功夫不负有心人的观点怎么写 用具体事实说明一个观点比如“功夫不负有心人”“虚心使人进步骄傲使... 我左腿膝盖向上10cm外侧刚发现有个硬的包很疼,表面无异样请问是什么`昨 ... 左腿膝盖外侧酸是怎么回事,右腿没感觉,是缺少什么了吗,以前一般吃几天... 膝盖处外侧皮肤麻木,皮肤容易红,外侧摸关节处略大于右腿同部位关节。去... 灰色冬裙配什么短外套 2024年信用卡诈骗罪是什么样的量刑标准 徐州启星中学好不好在徐州排第几徐州启星中学 进口商品日期10/2021什么意思? 第三方的短信接口平台都有啥?公司短信验证码用 进口食品日期怎么看? oppo手机a72屏幕上hd如何关闭 台式电脑与主机连接线怎么连接 打架用武器和不用武器责任划分什么案件? 打架时用武器和不用武器量刑时有区别吗 应届毕业生从事软件测试需要具备哪些条件? 为什么天龙八部中的绝顶高手大都不用兵器? 皇室战争 哪个角色攻击不用武器 软件测试工程师考试对考试人学历什么的有什么要求? 流放者柯南随从怎么不用武器 做一名软件测试工程师的要求有哪些? 梅艳芳是因为什么原因去世的? 软件测试工程师,一般的要求有什么!谁能具体谈下 鬼泣3里怎么不用武器,用拳头打? 古代哪个猛将不用武器,武功也超级厉害的? 软件测试工程师具体是干什么的(软件测试员究竟做些什么?) 鏈夐┈娑﹀湪灏辫屼簡锛屾垜浠鍦ㄤ笉鍦ㄦ剰涔変笉澶是什么字 软件测试工程师一般都要本科吗? 短信接口异常什么意思验证码 第三方短信接口api 哪些方式 大家都用哪些第三方服务商来做短信验证码? 进口食品日期怎么看的? 哪家第三方验证码短信平台好? 短信API是什么? 第三方短信接口平台有哪些?公司软件测试用 大家都用哪些第三方服务商来做短信验证码 验证码短信接口怎么对接? 艾利和icm10和icm30哦啊个好 温州哪有学炒菜的学校? 温州学厨师哪个学校好? 温州那里有学烹饪 学厨师是去酒店学好,还是去培训学校好啊? 温州最好的烹饪学校 想学厨师,温州哪里有好学校 温州哪有学烧菜的 温州哪里有学厨师的 推荐一个好的温州的烹饪培训学校!! 温州厨师培训哪家好,多少钱