PHP轻松抓取微信公众号文章短链
优采云 发布时间: 2023-05-08 00:52微信公众号作为一种新型的传播方式,越来越受到人们的关注。相信很多人都有过这样的经历:看到了一篇很好的文章,想要分享给朋友或者收藏起来,却发现只有长链接,不方便分享和保存。那么如何获取微信公众号文章的短链接呢?今天我们就来聊一聊php如何获取微信公众号文章短链接。
1.获取文章id
首先,我们需要获取到文章的id。在微信公众平台中,每篇文章都有一个唯一的id,我们可以通过这个id来获取文章的短链接。
代码如下:
php
$url ="https://mp.weixin.qq.com/s/xxxxxxxxxxxx";
preg_match('/s\/(.*?)\?/',$url,$match);
$id =$match[1];
这段代码中,$url是我们需要获取短链接的文章的长链接;preg_match是php中用于正则表达式匹配的函数;'s\/(.*?)\?'表示匹配以's/'开头、以'?'结尾中间任意字符,并将匹配结果存放在$match数组中;$id即为我们需要获取的文章id。
2.获取access_token
接着,我们需要获取access_token。access_token是调用微信公众平台接口时必须的参数,我们可以通过调用微信公众平台的接口来获取access_token。
代码如下:
php
$appid ="your_appid";
$appsecret ="your_appsecret";
$url ="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret;
$res = json_decode(file_get_contents($url));
$access_token =$res->access_token;
这段代码中,$appid和$appsecret分别是我们在微信公众平台中申请的应用id和应用密钥;$url是调用微信公众平台接口获取access_token的url;file_get_contents函数用于读取文件内容,这里用于读取微信公众平台返回的json格式数据;json_decode函数用于将json格式数据转换为php对象,这里用于解析微信公众平台返回的json格式数据,并将access_token存放在$access_token变量中。
3.获取短链接
最后,我们可以通过调用微信公众平台的接口来获取文章的短链接了。
代码如下:
php
$url ="https://api.weixin.qq.com/cgi-bin/shorturl?access_token=".$access_token;
$data = array(
'action'=>'long2short',
'long_url'=>$url_prefix."/mp/profile_ext?action=home&__biz=".$biz."&scene=123#wechat_redirect&mid=".$id."&idx=1&sn=".$sn."&version=1"
);
$options = array(
'http'=> array(
'header'=>'Content-type:application/x-www-form-urlencoded',
'method'=>'POST',
'content'=> http_build_query($data),
),
);
$context = stream_context_create($options);
$res = json_decode(file_get_contents($url, false,$context));
$short_url =$res->short_url;
这段代码中,$url是调用微信公众平台接口获取短链接的url;$data是我们需要向微信公众平台提交的数据,其中long_url是我们需要转换的长链接;$options是我们需要向微信公众平台提交的选项,其中header表示提交数据的格式为application/x-www-form-urlencoded,method表示提交方式为POST,content表示提交的数据;stream_context_create函数用于创建一个流上下文,这里用于传递$options选项;最后,我们通过json_decode函数解析微信公众平台返回的json格式数据,并将short_url存放在$short_url变量中。
至此,我们已经成功获取了微信公众号文章的短链接。相信通过这篇文章的介绍和代码实现,大家已经可以轻松地获取到微信公众号文章的短链接了。
本文介绍了php如何获取微信公众号文章短链接,并分别从获取文章id、获取access_token和获取短链接三个方面进行了详细的讲解。希望本文能够对大家有所帮助。如果您想要了解更多关于php开发的内容,请关注优采云,我们将为您提供更多优质的技术文章。同时,如果您需要进行SEO优化,欢迎访问我们的官网www.ucaiyun.com,我们将为您提供最专业的服务。