SpringBoot小程序推送信息怎么实现
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍了SpringBoot小程序推送信息怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot小程序推送信息怎么实现文章都会有所收获,下面
千家信息网最后更新 2026年11月03日SpringBoot小程序推送信息怎么实现
这篇文章主要介绍了SpringBoot小程序推送信息怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot小程序推送信息怎么实现文章都会有所收获,下面我们一起来看看吧。
1.小程序推送信息列如我们去餐厅等位有预约提醒,剩余桌数
首先申请一个小程序,微信开放平台:小程序
2.申请小程序信息,申请信息模板
appid
AppSecret
3.根据开发文档开发
subscribeMessage.send | 微信开放文档
4.代码如下:
引入依赖
org.apache.httpcomponents httpclient 4.5.2
先准备一个HTTP工具类Z
import org.apache.http.HttpEntity;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.conn.ssl.NoopHostnameVerifier;import org.apache.http.conn.ssl.SSLConnectionSocketFactory;import org.apache.http.conn.ssl.TrustSelfSignedStrategy;import org.apache.http.entity.StringEntity;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.ssl.SSLContexts;import org.apache.http.util.EntityUtils; import java.io.IOException; /** * @author lrx * @description: TODO * @date 2021/3/9 9:50 */public class HttpClientUtils { //Http协议GET请求 public static String httpGet(String url) throws IOException { //初始化HttpClient CloseableHttpClient httpClient = HttpClients.createDefault(); //创建HttpGet HttpGet httpGet = new HttpGet(url); //发起请求,获取response对象 CloseableHttpResponse response = httpClient.execute(httpGet); //获取请求状态码 //response.getStatusLine().getStatusCode(); //获取返回数据实体对象 HttpEntity entity = response.getEntity(); //转为字符串 String result = EntityUtils.toString(entity, "UTF-8"); return result; } //Http协议Post请求 public static String httpPost(String url, String json) throws Exception { //初始HttpClient CloseableHttpClient httpClient = HttpClients.createDefault(); //创建Post对象 HttpPost httpPost = new HttpPost(url); //设置Content-Type /* httpPost.setHeader("Content-Type", "application/x-www-form-urlencoded");*/ StringEntity se = new StringEntity(json,"UTF-8"); se.setContentType("application/x-www-form-urlencoded"); httpPost.setEntity(se); //发起请求,获取response对象 CloseableHttpResponse response = httpClient.execute(httpPost); //获取请求码 //response.getStatusLine().getStatusCode(); //获取返回数据实体对象 HttpEntity entity = response.getEntity(); //转为字符串 String result = EntityUtils.toString(entity, "UTF-8"); return result; } //Https协议Get请求 public static String httpsGet(String url) throws Exception { CloseableHttpClient hp = createSSLClientDefault(); HttpGet hg = new HttpGet(url); CloseableHttpResponse response = hp.execute(hg); HttpEntity entity = response.getEntity(); String content = EntityUtils.toString(entity, "UTF-8"); hp.close(); return content; } //Https协议Post请求 public static String httpsPost(String url, String json) throws Exception { CloseableHttpClient hp = createSSLClientDefault(); HttpPost httpPost = new HttpPost(url); httpPost.setHeader("Content-Type", "application/json"); httpPost.setEntity(new StringEntity(json)); CloseableHttpResponse response = hp.execute(httpPost); HttpEntity entity = response.getEntity(); String content = EntityUtils.toString(entity, "UTF-8"); hp.close(); return content; } public static CloseableHttpClient createSSLClientDefault() throws Exception { //如果下面的方法证书还是不过,报错的话试试下面第二种 /* SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy(){ //信任所有 public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException { return true; } }).build(); SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext); return HttpClients.custom().setSSLSocketFactory(sslsf).build();*/ SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory( SSLContexts.custom().loadTrustMaterial(null, new TrustSelfSignedStrategy()).build(), NoopHostnameVerifier.INSTANCE); return HttpClients.custom().setSSLSocketFactory(sslsf).build(); }}测试代码
import com.alibaba.fastjson.JSONObject; import java.io.IOException;import java.util.Date;import java.util.HashMap;import java.util.Map; /** * @author lrx * @description: TODO 小程序推送 * @date 2022/4/11 13:32 */public class TestXCXMain { public static void main(String[] args) throws Exception { String appid = ""; //appid String secret = ""; //secret //登录链接获取token String loginUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + secret; Map payloadMap = JSONObject.parseObject(HttpClientUtils.httpGet(loginUrl)); String token = null; if (payloadMap.containsKey("access_token")) { token = payloadMap.get("access_token").toString(); } System.out.println("获取token" + token); Map qqMap = new HashMap(); qqMap.put("touser", "openid"); //要推送的openid qqMap.put("template_id", ""); //信息模板id qqMap.put("page", "index"); qqMap.put("miniprogram_state", "developer"); qqMap.put("lang", "zh_CN"); //封装信息 Map dataMap = new HashMap(); Map valueMap1 = new HashMap(); valueMap1.put("value", "成功"); Map valueMap2 = new HashMap(); valueMap2.put("value", "成功"); dataMap.put("thing3", valueMap1); dataMap.put("thing1", valueMap2); qqMap.put("data", dataMap); //发送 Map payloadMapData = JSONObject.parseObject(HttpClientUtils.httpPost("https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token="+token,JSONObject.toJSONString(qqMap))); if (payloadMapData.containsKey("errCode")) { System.out.println("返回code码:"+payloadMapData.get("errCode").toString()); } }} 5.推送结果
关于"SpringBoot小程序推送信息怎么实现"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"SpringBoot小程序推送信息怎么实现"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
信息
程序
推送
对象
UTF-8
知识
成功
代码
内容
字符
字符串
实体
数据
文档
模板
篇文章
开发
开放
价值
工具
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海挚品互联网科技有限公司
广州百单互联网科技有限公司
中国互联网科技工作委员会毛军
互联网最新的科技
互联网与科技发展
互联网科技战争
腾讯阿里互联网科技
互联网科技的发展
易互联网科技有限公司
互联网科技金融公司
万易互联网科技
齐家互联网科技
丰台科技园 互联网
海南科技产业互联网平台
蓝色互联网科技
江苏南京365互联网科技
呼和浩特新华互联网科技学院
山东蛋芒互联网科技有限公司
广东猫王互联网科技有限公司电话
如何强化互联网金融科技
中智农互联网科技
喔噻互联网科技有限公司
互联网属科技
成都互联网科技公司
鑫亿盛互联网科技
互联网科技logo设计
广州市恰铎互联网科技有限公司
想开互联网科技公司怎么样
工业互联网展湾科技股份有限公司
互联网界的黑科技