m.weibo.cn 已彻底移除私信发送功能,仅保留只读消息浏览;登录后可访问 /messages 和 /messages/chat?uid=xxx 查看会话或聊天记录,但无输入框、无发送按钮,所有发送接口均被禁用且无法绕过。

微博 HTML5 版(即网页版 m.weibo.cn)不提供直接发送私信的入口,send_message 接口已对未登录或普通用户禁用,且前端页面完全隐藏私信发送功能。
为什么在 m.weibo.cn 找不到私信发送按钮
微博自 2022 年起逐步下线 HTML5 版私信交互能力,目前 m.weibo.cn 仅保留查看收件箱和部分历史消息的能力,但所有发送相关 DOM 元素(如 textarea、button[data-action="send"])均被移除或设为 display: none。即使手动触发 document.querySelector('[data-action="send"]').click(),也会返回 403 Forbidden 或 {"code":100003,"msg":"接口不可用"}。
私信入口实际位置(仅限已登录状态)
登录后访问以下地址可进入只读私信页:
-
https://m.weibo.cn/messages—— 列出会话列表(不可发) -
https://m.weibo.cn/messages/chat?uid=1234567890—— 查看与某用户的聊天记录(uid必须是已互关或认证用户,否则 404)
注意:messages/chat 页面中没有 input 或 form 元素;右上角“+”按钮点击后仅弹出“暂不支持”的提示浮层。
立即学习“前端免费学习笔记(深入)”;
发送私信的唯一可行路径(非 HTML5)
必须切换到官方客户端或 PC 网页版(weibo.com),HTML5 版无绕过方案:
- 安卓/iOS 客户端:首页底部导航栏 → “消息” → 右上角“写私信”图标 → 搜索用户 → 输入内容 → 发送
- PC 网页版(
weibo.com):顶部导航栏“消息” → 左侧“写私信” → 填写用户名 →textarea输入 → 点击“发送” - 第三方工具(如旧版 WeiboSDK)调用
direct_messages/new接口需 OAuth2.0 授权 + 白名单权限,普通开发者无法申请
任何尝试用 Puppeteer / Playwright 自动填充 #messageInput 并 submit 的操作,在 m.weibo.cn 上都会因缺失 CSRF token 和后端校验而失败。
发送限制与常见错误响应
即使在可用渠道发送,也会受以下限制影响:
- 未互关用户:只能向认证账号(蓝 V/黄 V)或开启“允许陌生人私信”的用户发送,否则返回
{"code":100001,"msg":"对方设置了隐私权限"} - 频率限制:同一账号 1 小时内最多向 10 个不同用户发送,超限返回
{"code":100005,"msg":"操作过于频繁"} - 内容过滤:含 URL、手机号、微信关键词等会触发
{"code":100007,"msg":"消息包含违规内容"} - 账号状态:新注册账号、未实名、异常登录设备,可能直接屏蔽私信入口(连
messages页面都 403)
这些限制全部由后端控制,前端无对应配置项或开关。
别在 m.weibo.cn 里找发送框了——它真没了。所有“HTML5 私信发送教程”提到的元素选择器,现在打开控制台一搜就空。真正卡住的不是技术,是微博把这条路从服务端焊死了。










