获取微信公众号推文封面图片

最近在做一个推文列表的小模块,实现点击图片后跳转到推文的功能,因此需要获取到这个推文的封面图片。

查阅百度后得知,推文封面图片地址为变量msg_cdn_url,因此只需要得到页面文件,找到对应的字符串即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class TestCommon {
public static void main(String[] args) {
RestTemplate restTemplate = new RestTemplate();
//推文地址
String url = "https://mp.weixin.qq.com/s/m_90_3fNTr6Ingz2nk2Y2g";
//得到页面响应文件
String body = restTemplate.getForEntity(url,String.class).getBody();
//找到字符串出现的位置,和结束的位置,中间的就是我们所需要的内容
int begin = body.indexOf("var msg_cdn_url");
int end = body.indexOf("var cdn_url_1_1");
String picUrl = body.substring(begin,end);
//分割字符串,提取双引号内的地址
picUrl = picUrl.split("\"")[1];
System.out.println(picUrl);
}

输出结果

1
http://mmbiz.qpic.cn/mmbiz_jpg/S2QIjGmZ77TGuiaIPSub7ibEebezete1Ljz03DkhVkmNzOSq1iazXnDfsqHyetSVrVs15tiarjb15u5I5mDteQdjeQ/0?wx_fmt=jpeg