You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
目前RSSHUB官方的文档给出的个人时间线配置如下
WEIBO_APP_KEY: 微博 App Key
WEIBO_APP_SECRET: 微博 App Secret
WEIBO_REDIRECT_URL: 微博登录授权回调地址
这里有一个问题,原因是IP不干净,比如普通的机房GCP、Oracle等,即使配置了以上内容,实际上是无法使用微博个人时间线的。
关键点:整个路由其实发了两个不同的请求
┌──────────┬─────────────────────────────┬───────────────────────────────┐
│ │ 步骤① getIndex │ 步骤② home_timeline │
├──────────┼─────────────────────────────┼───────────────────────────────┤
│ 域名 │ m.weibo.cn(手机网页版) │ api.weibo.com/2(官方 OpenAPI) │
├──────────┼─────────────────────────────┼───────────────────────────────┤
│ 认证方式 │ Cookie(登录态) │ OAuth access_token │
├──────────┼─────────────────────────────┼───────────────────────────────┤
│ 拿什么 │ 昵称/简介/头像(userInfo) │ 真正的微博内容(feed) │
├──────────┼─────────────────────────────┼───────────────────────────────┤
│ 重要性 │ 只是给 feed 标题/作者署名用 │ 核心数据 │
└──────────┴─────────────────────────────┴───────────────────────────────┘
所以需要 Cookie 的只有步骤①。它跟你的 OAuth token 完全是两套东西——token
负责拉内容(步骤②,一直是好的),Cookie 只负责拉那个"装饰性"的昵称头像。
为什么没 Cookie 就 503
步骤① 调 m.weibo.cn 时,如果没带登录态 Cookie:
讽刺的是:此时步骤②(真正拉内容)本来能成功,但程序卡在步骤① 这个"取昵称"的小事上先崩了。
e.weibo.cookies ?? `` 的结构解读
里那一长串)。
而 WEIBO_COOKIES 这个字符串本身是一个标准 HTTP Cookie 头,分号分隔的 key=value
对,来自一个已登录的 m.weibo.cn 手机网页会话。里面起决定作用的是登录态字段:
补丁把这个 Cookie 注进步骤①,m.weibo.cn 就认你是登录用户、正常吐 JSON,userInfo 取到了,503 消失。
All reactions