微信公众号文章:长链接会撞验证码,短链接不会

一句话:贴 mp.weixin.qq.com/s/xxxx 这种短链接。 同一篇文章,mp.weixin.qq.com/s?__biz=…&mid=…&idx=…&sn=… 这种长链接,现在大概率只给你一个验证码页。

这不是我们绕不过去的问题,是链接形态的问题。下面是我们自己读取记录里的数字,和拿短链接的两步。

现象:长链接回来的是一个验证码页

拿一条长链接去读,服务器最后落在 mp.weixin.qq.com/mp/wappoc_appmsgcaptcha —— 微信的「环境异常,完成验证后即可继续访问」。页面上没有任何文章内容,只有一个滑块/点选验证。

我们的选择是不去解它:自动识别验证码是绕过对方的人机校验,我们不碰。所以这条链接会被判为「读不到」,返回 422,不扣积分。

数据:短链接一直在读,长链接已经不是

这是我们引擎的记录(只列微信文章的读取,读成功的才记账):

日期 链接形态 结果
10-04、10-05 长链接 s?__biz=… 读到全文
10-06、10-12、10-17、10-19 短链接 s/xxxx 读到全文
10-26(三次) 短链接 s/xxxx 读到全文
10-05 之后 长链接 s?__biz=… 只拿到验证码页

也就是说:长链接在十月初还能读,之后就不行了;短链接从十月初到今天一直正常。同一天、同一个服务器、同一套请求,差别只在链接怎么写。

为什么两种链接差这么多

长链接带的是文章的完整定位参数:__biz(公众号)、mid(消息 id)、idx(第几条)、sn(签名),有时还有 poc_token。这一串参数的初衷是让文章能在微信外面被打开——所以微信对它的态度最谨慎,风控一旦收紧,先卡的就是它。

短链接 s/xxxx 是「复制链接」这个动作产出的形态,本来就是给「换一个地方打开」用的,跟随的是应用内的会话上下文。我们对两种形态都试过:把 poc_token 去掉再请求一次,长链接照样是验证码页——所以这不是一个可以重试解决的问题,我们只发一次请求,读不到就说读不到。

拿短链接:两步

  1. 在微信里打开这篇文章;
  2. 点右上角「⋯」→「复制链接」,把复制出来的东西贴过来。

得到的形如:

https://mp.weixin.qq.com/s/2fBjEf6kDX0245-tMgS5uA

如果你拿到的是长链接,说明你复制的是「在浏览器打开」的地址,或者是从别的地方转来的。回到微信里重新复制一次。

读到了会给你什么

标题、公众号名称、发布时间、正文(保留小标题和列表结构)、配图(图里的文字会一起读出来)。长文章按段落给出,不会截成一段。这条路线不需要你的微信账号,也不需要 Cookie——我们读的是这篇公开文章本身。

读不到的情况也算清楚:付费文章、已被删除、仅粉丝可见、需要验证码的,都返回 422 并说明原因,不扣积分。

同一条链接读法也一样适用于小红书笔记、抖音、TikTok、YouTube:贴进来就行,读不到的不扣积分。小红书的链接也有同样的坑,而且是两个域名: 分享链接的两个域名,其中一个会静默失败。

想直接试:贴一条进来,注册送 10 积分,不用绑卡。


This is the write-up behind LinkDigest, which does the above as a hosted service — with an MCP server for Claude Code and Cursor, a REST API, and 10 free credits to try it.