没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Java编程调用微信接口实现图文信息推送功能编程调用微信接口实现图文信息推送功能
主要介绍了Java编程调用微信接口实现图文信息等推送功能,涉及java微信图文信息推送接口调用及相关文件、字符串编码转换相关操作技巧,需要的朋友可以参考
下
本文实例讲述了Java编程调用微信接口实现图文信息等推送功能。分享给大家供大家参考,具体如下:
Java调用微信接口工具类,包含素材上传、获取素材列表、上传图文消息内的图片获取URL、图文信息推送。
微信图文信息推送因注意html代码字符串中将双引号(")替换成单引号('),不然信息页面中包含图片将无法显示且图片后面的内容也不会显示
官方文档:http://mp.weixin.qq.com/wiki/home/
StringBuilder sb=new StringBuilder();
sb.append("{\"articles\":[");
boolean t=false;
for(MicroWechatInfo info:list){
if(t)sb.append(",");
Pattern p = Pattern.compile("src\s*=\s*'(.*?)'",Pattern.CASE_INSENSITIVE);
String content = info.getMicrowechatcontent().replace("\"", "'");
Matcher m = p.matcher(content);
while (m.find()) {
String[] str = m.group().split("'");
if(str.length>1){
try {
if(!str[1].contains("//mmbiz.")){
content = content.replace(str[1], uploadImg(UrlToFile(str[1]),getAccessToken(wx.getAppid(), wx.getAppkey())).getString("url"));
}
} catch (Exception e) {
}
}
}
sb.append("{\"thumb_media_id\":\""+uploadMedia(new File(info.getMicrowechatcover()), getAccessToken(wx.getAppid(), wx.getAppkey()), "image").get("media_id")+"\"," +
"\"author\":\""+info.getMicrowechatauthor()+"\"," +
"\"title\":\""+info.getMicrowechattitle()+"\"," +
"\"content_source_url\":\""+info.getOriginallink()+"\"," +
"\"digest\":\""+info.getMicrowechatabstract()+"\"," +
"\"show_cover_pic\":\""+info.getShowcover()+"\"," +
"\"content\":\""+content+"\"}");
t=true;
}
sb.append("]}");
package com.xxx.frame.base.util;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.net.ConnectException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URISyntaxException;
import java.net.URL;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import net.sf.json.JSONObject;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.multipart.FilePart;
import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity;
import org.apache.commons.httpclient.methods.multipart.Part;
import org.apache.commons.httpclient.methods.multipart.PartSource;
import org.apache.commons.httpclient.methods.multipart.StringPart;
import org.apache.commons.httpclient.protocol.Protocol;
import com.google.gson.Gson;
import com.xxx.frame.account.entity.MicroWechatAccount;
import com.xxx.frame.account.entity.MicroWechatInfo;
/**
* 微信工具类
* @author hxt
*
*/
public class WeixinUtil {
public static String appid = "xxxxxxxxxxxxxxxxxxxxxxx";
public static String secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
// 素材上传(POST)
private static final String UPLOAD_MEDIA = "https://api.weixin.qq.com/cgi-bin/material/add_material";
private static final String UPLOAD_IMG = "https://api.weixin.qq.com/cgi-bin/media/uploadimg";
private static final String BATCHGET_MATERIAL = "https://api.weixin.qq.com/cgi-bin/material/batchget_material";
/**
* 获得ACCESS_TOKEN
* @param appid
* @param secret
* @return ACCESS_TOKEN
*/
public static String getAccessToken(String appid, String secret) {
String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + secret;
JSONObject jsonObject = httpRequest(url, "GET", null);
try {
if(jsonObject.getString("errcode")!=null){
return "false";
}
}catch (Exception e) {
资源评论
weixin_38499503
- 粉丝: 8
- 资源: 975
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 正在量产的新能源汽车控制器代码,功能齐全,含原理图 完美可编译
- python语言youkushipin爬虫程序代码QZQ1.txt
- python语言youkushipin爬虫程序代码QZQ2.txt
- python语言youkushipin爬虫程序代码QZQ.txt
- MATLAB滚动轴承故障诊断程序:采用西楚凯斯大学数据,首先通过变分模态分解(VMD)算法处理,而后分别通过包络谱分析实现故障诊断 ps.通过尖峰对应的频率与计算出的故障频率比较,实现故障诊断
- douyinshipin爬虫程序代码QZQ1.txt
- labview振动,声音分析软件,提供源代码
- 机器学习期末作业-基于决策树的医疗保险费花费预测python源码(含数据集+作业报告).zip
- 预测26个英文字母,mnist进阶版emnist,onnx模型,支持halcon直接read-dl-model
- 爱立信5G-KPI体系介绍
- 英飞凌电动汽车参考方案,包含原理图,和Bom清单,说明文档和代码,基于英飞凌TC27xC平台
- 2021防黑运营版,多商户机器人,在线客服系统,自助注册客服系统源码
- 大功率四轮电动车控制器代码, 原理图和Pcb,完整可用
- 计算机视觉中YOLOv11的目标检测与训练性能提升
- 男神女神投票 开源运营版本 优化报名送积分增减审核逻辑等
- 猫狗二分类,基于pytorch自带的vgg训练的,效果不好,但勉强能用,onnx模型,可以结合c#自己推理着玩玩
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功