Java代码 微信公众号推送(代码详细)

用的是idea, 需要修改的地方在于这些地方改了

 

 

然后吧账号密码填写进去就好了  运行类是   Yi   这个类

非常简单 祝大家成功 ,不会的关注私聊  

微信公众号测试注册地址:微信公众平台 (qq.com)

 我用的模板是这个只有一个数据 ,当然这个可以自己添加

 做出来的效果当然上面那个要添加什么只需要在这个类里面添加对应的数据值:

 

 

 

 需要导入的jar包

<dependencies><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpmime</artifactId><version>4.3.6</version></dependency><!-- https://mvnrepository.com/artifact/org.jsoup/jsoup --><dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.11.2</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.4</version></dependency><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.4.0</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.47</version></dependency><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.3.6</version></dependency><dependency><groupId>org.thymeleaf</groupId><artifactId>thymeleaf</artifactId><version>3.0.15.RELEASE</version></dependency></dependencies>

public class ABC {private int abc=1;private int abc1=1;private int abc2=1;public ABC() {}public int getAbc() {return abc;}public void setAbc(int abc) {this.abc = abc;}public int getAbc1() {return abc1;}public void setAbc1(int abc1) {this.abc1 = abc1;}public int getAbc2() {return abc2;}public void setAbc2(int abc2) {this.abc2 = abc2;}
}

import java.awt.*;
import java.util.Random;public class Close {public static void main(String[] args) {for(int i=0;i<=10;i++){System.out.println(close());}}public static String close(){//红色String red;//绿色String green;//蓝色String blue;//生成随机对象Random random = new Random();//生成红色颜色代码red = Integer.toHexString(random.nextInt(256)).toUpperCase();//生成绿色颜色代码green = Integer.toHexString(random.nextInt(256)).toUpperCase();//生成蓝色颜色代码blue = Integer.toHexString(random.nextInt(256)).toUpperCase();//判断红色代码的位数red = red.length()==1 ? "0" + red : red ;//判断绿色代码的位数green = green.length()==1 ? "0" + green : green ;//判断蓝色代码的位数blue = blue.length()==1 ? "0" + blue : blue ;//生成十六进制颜色值String color = "#"+red+green+blue;System.out.println(color);return  color;}}

import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;public class Main {public static String getHtmlByPost(String urlString,String postBody) throws IOException {byte[] xmlData = postBody.getBytes();//接收想要连接网址的地址URL url=new URL(urlString);//响应StringBuilder responseBuilder=new StringBuilder();//读取信息为文本信息,所以用bufferReaderBufferedReader reader=null;//用url对象打开连接(仅仅打开了连接,并未发送请求)HttpURLConnection conn=(HttpURLConnection)url.openConnection();//设置HttpURLConnection参数//设置post方法conn.setRequestMethod("POST");//不使用缓存conn.setUseCaches(false);conn.setDefaultUseCaches(false);//post请求必须设置如下2行conn.setDoInput(true);conn.setDoOutput(true);//读取超时时间conn.setReadTimeout(5000);conn.setConnectTimeout(5000);//设置不要302自动跳转,防止重定向conn.setInstanceFollowRedirects(false);//设置传入参数的格式conn.setRequestProperty("Content-Type","application/json");//没写可能出现411错误conn.setRequestProperty("Content-Length",String.valueOf(xmlData.length));//通过连接对象获取一个输出流DataOutputStream printout = new DataOutputStream(conn.getOutputStream());//输出流发送请求参数printout.write(xmlData);//flush输出流的缓冲printout.flush();printout.close();//定义BufferedReader输入流来读取URL的响应int code=conn.getResponseCode();System.out.println(code);if(code==200) {reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));//逐行读取数据String line = null;while ((line = reader.readLine()) != null) {responseBuilder.append(line + "\n");}reader.close();}else{conn.getErrorStream();}String result=responseBuilder.toString();return  result;}}

public class WeChatTemplateMsg {/*** 消息*/private String value;/*** 消息颜色*/private String color;public WeChatTemplateMsg(String value) {this.value = value;this.color = "#173177";}public WeChatTemplateMsg(String value, String color) {this.value = value;this.color = color;}public String getValue() {return value;}public void setValue(String value) {this.value = value;}public String getColor() {return color;}public void setColor(String color) {this.color = color;}
}

import com.alibaba.fastjson.JSONObject;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;import org.thymeleaf.util.StringUtils;import java.io.IOException;
import java.util.HashMap;
import java.util.Map;public class Yi {String accessToken;public static void main(String[] args) throws Exception {Yi y=new Yi();String appid="wx122f233fcadb27ccxxxx"; //对应的idString secret="xxxx"; //对应秘钥 就是上面那个appid下面那个Connection.Response document = Jsoup.connect("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+appid+"&secret="+secret+"").timeout(4000).userAgent("Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.15").ignoreContentType(true).execute();Document parse = document.parse();String parse1 = String.valueOf(parse);String access = StringUtils.substringBefore(StringUtils.substringAfter(parse1, "access_token\":\""), "\",\"expires_in");y.accessToken=access; //获取
//        System.out.println(access);y.sendMessage();}public  void sendMessage() {// 模板参数Map<String, WeChatTemplateMsg> sendMag = new HashMap<>();// openId代表一个唯一微信用户,即微信消息的接收人String openId = "o565j6tLmAwhVMhY1UIG7ipgaNvc";// 公众号的模板id(也有相应的接口可以查询到)String templateId = "oXOvDQYxGmt4MBJWYJRPZvSDgKxP4Atip6bHKs-mOuM";// 微信的基础accessTokenString url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken;sendMag.put("d1", new WeChatTemplateMsg("哈哈哈嗯嗯","#28AEBD"));
//        sendMag.put("keyword1", new WeChatTemplateMsg("111"));//拼接base参数Map<String, Object> sendBody = new HashMap<>();sendBody.put("touser", openId);               // openIdsendBody.put("url", "www.baidu.com");         // 点击模板信息跳转地址sendBody.put("topcolor", Close.close());          // 顶色sendBody.put("data", sendMag);                   // 模板参数sendBody.put("template_id", templateId);      // 模板IdJSONObject json = new JSONObject(sendBody);
//        System.out.println(url+json);try{System.out.println(Main.getHtmlByPost(url, String.valueOf(json)));} catch (IOException e) {e.printStackTrace();}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/52744.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何优雅的在微信公众号中编辑代码

这篇文章严格意义上是写给有公众号且公众号文章需要贴代码的朋友们看的。 1 公众号编辑器真难用 自从入坑公众号以来&#xff0c;被公众号的这个编辑器简直折磨死了。我发的文章基本上是少不了贴代码的&#xff0c;可是每次贴上去的代码总是被公众号的编辑器无厘头的给我过滤掉…

初访Chirper:一个禁止人类发言的人工智能社交网络,AI们居然在吵架,太6了

最近&#xff0c;在网上仅仅用ChatGPT和AI聊天已经不够刺激了&#xff0c;现在&#xff0c;AI已经有了属于自己的专属社区&#xff1a;Chirper 简而言之&#xff0c;这是一个禁止人类发帖、评论、转发的类推特网站。人类进去后只能看见&#xff1a;成千上万个AI聊天机器人在其…

ChatGPT和搜索引擎哪个更好用

目录 ChatGPT和搜索引擎的概念 ChatGPT和搜索引擎的作用 ChatGPT的作用 搜索引擎的作用 ChatGPT和搜索引擎哪个更好用 总结 ChatGPT和搜索引擎的概念 ChatGPT是一种基于对话的人工智能技术&#xff0c;而搜索引擎则是一种用于在互联网上查找和检索信息的工具。它们各自具…

产品负责人 VS 产品经理

概述 Scrum框架创造了对新角色的需求&#xff0c;其中就包括 “产品负责人” 。这不可避免额外地导致对产品负责人和产品经理角色的误解和误用&#xff0c;对团队产生不必要的压力。 角色混淆会带来噪音和摩擦&#xff0c;削弱团队对价值、质量、速度和满意度的关注。这种混乱…

从程序员到产品经理

一直以来我都觉得自己是个典型性程序员。 比如出门时候我总是穿格子衫、牛仔裤&#xff0c;戴着黑框眼镜背个双肩包&#xff1b; 比如休闲时候我是个死宅&#xff0c;喜欢玩游戏和看小说&#xff1b; 比如一直到23岁时候我依然是“妹手软”&#xff0c;没谈过恋爱。 当然可能也…

产品经理培训还好找工作吗?

本篇文章主要讲解粉丝后台留言问题&#xff1a;新人转产品&#xff0c;通过培训班还好找工作吗。 日期&#xff1a;2021年8月21日 作者&#xff1a;任聪聪 我以不同角度为大家解读&#xff0c;培训出来的产品经理是否还好找工作。 产品经理的就业行情还好吗 先来看两组数据&a…

人工智能 | ShowMeAI资讯日报 #2022.06.05

ShowMeAI日报系列全新升级&#xff01;覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向。点击查看 历史文章列表&#xff0c;在公众号内订阅话题 #ShowMeAI资讯日报&#xff0c;可接收每日最新推送。点击 专题合辑&…

人工智能 | ShowMeAI资讯日报 #2022.06.06

ShowMeAI日报系列全新升级&#xff01;覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向。点击查看 历史文章列表&#xff0c;在公众号内订阅话题 #ShowMeAI资讯日报&#xff0c;可接收每日最新推送。点击 专题合辑&…

人工智能 | ShowMeAI资讯日报 #2022.06.18

ShowMeAI日报系列全新升级&#xff01;覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向。点击查看 历史文章列表&#xff0c;在公众号内订阅话题 #ShowMeAI资讯日报&#xff0c;可接收每日最新推送。点击 专题合辑&…

人工智能 | ShowMeAI资讯日报 #2022.06.20

ShowMeAI日报系列全新升级&#xff01;覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向。点击查看 历史文章列表&#xff0c;在公众号内订阅话题 #ShowMeAI资讯日报&#xff0c;可接收每日最新推送。点击 专题合辑&…

人工智能 | ShowMeAI资讯日报 #2022.06.29

ShowMeAI日报系列全新升级&#xff01;覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向。点击查看 历史文章列表&#xff0c;在公众号内订阅话题 #ShowMeAI资讯日报&#xff0c;可接收每日最新推送。点击 专题合辑&…

人工智能 | ShowMeAI资讯日报 #2022.06.24

ShowMeAI日报系列全新升级&#xff01;覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向。点击查看 历史文章列表&#xff0c;在公众号内订阅话题 #ShowMeAI资讯日报&#xff0c;可接收每日最新推送。点击 专题合辑&…

人工智能 | ShowMeAI资讯日报 #2022.06.16

ShowMeAI日报系列全新升级&#xff01;覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向。点击查看 历史文章列表&#xff0c;在公众号内订阅话题 #ShowMeAI资讯日报&#xff0c;可接收每日最新推送。点击 专题合辑&…

人工智能 | ShowMeAI资讯日报 #2022.06.30

ShowMeAI日报系列全新升级&#xff01;覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向。点击查看 历史文章列表&#xff0c;在公众号内订阅话题 #ShowMeAI资讯日报&#xff0c;可接收每日最新推送。点击 专题合辑&…

人工智能 | ShowMeAI资讯日报 #2022.06.19

ShowMeAI日报系列全新升级&#xff01;覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向。点击查看 历史文章列表&#xff0c;在公众号内订阅话题 #ShowMeAI资讯日报&#xff0c;可接收每日最新推送。点击 专题合辑&…

2021QS计算机专业排名发布:MIT斯坦福霸榜,清华北大进入前20

转载于 新智元 来源&#xff1a;qs topuniversities 编辑&#xff1a;yaxin 【新智元导读】2021 QS世界大学学科排名出炉了&#xff01;最新排名涉及51个学科&#xff0c;横跨5大领域。在计算机科学专业排名中&#xff0c;MIT、斯坦福、哈佛占领了世界前三席&#xff0c;中国…

最新!泰晤士2022世界大学排名发布:97所中国大陆高校上榜!

点击下方卡片&#xff0c;关注“CVer”公众号 AI/CV重磅干货&#xff0c;第一时间送达 来源&#xff1a;泰晤士高等教育 转载自&#xff1a;双一流高校 刚刚&#xff08;北京时间2021年9月2日上午7时&#xff09;&#xff0c;泰晤士高等教育发布了2022年度世界大学排名&#xf…

你的学校排第几?软科中国大学排名发布

转载于 软科 &#xff08;2021年4月26日&#xff09;高等教育评价专业机构软科今日正式发布“2021软科中国大学排名”。清华大学、北京大学、浙江大学占据主榜&#xff08;即综合性大学排名&#xff09;前三位。 2021软科中国大学排名&#xff08;主榜&#xff09; 主榜&#x…

2021,软科中国大学排名新鲜出炉!清华、北大、浙大位居前三!

“软科中国大学排名”&#xff0c;前身是“软科中国最好大学排名”&#xff0c; 自2015年首次发布以来&#xff0c;以专业、客观、透明的优势赢得了高等教育领域内外的广泛关注和高度认可&#xff0c;已经成为具有重要社会影响力和权威参考价值的中国大学排名领先品牌。 也有人…

全球计算机与工程学科排名:MIT夺冠 中国23所高校上榜

世界四大权威大学排名之一的软科正式发布了《2018软科世界一流学科排名》&#xff0c;在计算机科学与工程学科排名中&#xff0c;MIT、斯坦福、CMU位列前三&#xff0c;中国清华大学首次进入前十名&#xff0c;排名第7。 7月17日&#xff0c;与THE、QS和US News并称全球四大权…