1.导入依赖
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
2.今天的案例用的网建短信通 进入网站查看Java API说明 网建短信通
3.导入工具包,修改用户名和密钥可直接使用
package cn.itsource.pethome.utilsEmil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import java.io.IOException;
import java.util.*;
/**
* @author wujiangbo
* @date 2022-05-30 11:51
*/
@Slf4j
public class HttpUtil {
//发送post请求
public static String sendPost(String url, Map<String,String> params){
try {
//创建http客户端
HttpClient client = new HttpClient();
//创建post请求,指定请求地址
PostMethod post = new PostMethod(url);
//设置请求头
post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");//在头文件中设置转码
//添加参数:循环map,把map中的数据变成List
Set<String> keys = params.keySet();
List<NameValuePair> paramList = new ArrayList<>();
for(String key: keys){
String value = params.get(key);
paramList.add(new NameValuePair(key, value));
}
//把list变成数组
NameValuePair[] data = paramList.toArray(new NameValuePair[]{}) ;
post.setRequestBody(data);
//执行请求
client.executeMethod(post);
//获取结果
String result = new String(post.getResponseBodyAsString().getBytes("utf-8"));
//打印返回消息状态
log.info("HttpUtil#sendPost: 网络请求结果{}",result);
//释放连接
post.releaseConnection();
return result;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public static void sendMobileCode(String mobile, String text){
Map<String, String> param = new HashMap<>();
param.put("Uid", "liuliang111");//注册时填写的用户名
param.put("Key", "289685744F4A9359723FD220341EEB60");//秘钥
param.put("smsMob", mobile);
param.put("smsText", text);
String result = HttpUtil.sendPost("http://utf8.api.smschinese.cn/", param);
}
}
4.登录校验 过程不难 要熟悉!!!