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,我们将为您提供最专业的服务。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线