使用 RSS 订阅微博时,时常会碰到图片无法加载遇到图片无法加载的问题。经过搜索后从这个 issue 可以发现原因出在微博图床的反盗链措施使得缺少 referer 将导致图片无法访问,故要修复这个问题,只需要在请求头中把它加上。
浏览器
浏览器可以安装 Header Editor 扩展,再进行如下配置即可。
iOS/iPadOS
注:信任证书将让应用可以解密 HTTPS 请求,请注意其中可能存在的隐私与安全风险,并避免使用他人的证书。
由于新浪图床采用了 HTTPS 协议,不能直接重写请求头,所以我们需要先通过MTIM解密请求。而这两个平台可以相对方便地信任用户证书,并拥有众多的调试工具。我们要做的仅仅是在对应的工具中生成用户证书并安装,然后进入「设置」>「通用」>「关于本机」>「证书信任设置」,在其中启用刚才生成的证书。
接着我们需要在调试应用中设置相应规则。使用通配符匹配相应的域名 *.sinaimg.cn ,然后修改请求头,给 referer 添加上 https://weibo.com 便大功告成。使用 Loon 或 Stash 的朋友也可以直接从我的仓库导入相应配置: WeiboRSSImageFix。
Android
由于 Android 自7.0版本起,只信任系统证书,使得用户只能将生成的证书安装至系统分区,而这通常需要 root 权限来完成。因此,我更推荐通过安装支持 Chrome/Firefox 扩展的浏览器(例如 Kiwi 和 Ice Raven ),采用前文浏览器的方式来进行RSS阅读。不过话又说回来,得益于 Android 开放的侧载环境,我想安装一个第三方客户端会是更好的选择。