一件事情,如果你觉得它会发生,那么它就一定会发生。
做为国内最好的“微博图床”(没有之一),经过了多次限制整改都“挺”了过来,然后这一次的力度可谓历史空前。
2023 年初,所有微博图床的图片都不再可以访问,并且显示为“403 Forbidden”。
微博图床真的要告别历史,没办法再“白嫖”了吗?
今天,我要再给它“续命”一次。
一、图片反盗链
首先,要搞清楚是怎么一回事,我们要先弄明白一下 403 Forbidden 到底是什么?
1.1、HTTP 状态码
403 Forbidden 指的是 HTTP 状态码,它一共分为 5 种类型:
1xx - 信息
2xx - 成功
3xx - 重定向
4xx - 客户端错误
5xx - 服务端错误
与常见的 404 Not Found 不同,403 Forbidden 指的是用户在访问过程中,服务器拒绝处理而导致的访问受限。
微博图片出现 403 Forbidden 的原因,是因为微博开启了“图片反盗链”。
微博反盗链的原理,就是在浏览器请求头(HTTP Header)里添加 Referer 信息,然后判断“图片来源”。
如果是自家网站,那就发出 200 Success,而如果是别人的,那就发出 403 Forbidden。
而且,即便是空白 Referer,也就是图片直接在新标签页打开,也同样会被 403 禁止访问。
所以说,这一次微博图床的限制整改是空前的。
1.2、修改请求头
不过,我们可以通过伪造 Referer,让微博图片重新恢复访问。
具体方法是使用扩展 Header Editor,然后,将图片的 Referer 设置为微博域名 https://weibo.com/ 即可。
此外,像百度、微信、QQ、天涯、网易、豆瓣这些网站的图片反盗链,也可以用这个方法来解决。
1.3、图片缓存服务
而如果被限制访问图片来自一些小众网站,我们还通过“图片缓存服务”来让图片临时恢复显示,具体方法:
是利用扩展 ContextSearch web-ext 来调用 WordPress 提供的图片缓存服务。
WordPress 图片缓存服务:
https://i0.wp.com/图片地址(地址要去掉 https://)
比如:https://i0.wp.com/tva1.sinaimg.cn/large/c51a3658gy1hbckzxw0iaj20hs0b4jsn.jpg
如果图片是在新标签页中打开的话,你还可以使用小书签(快捷键 i c,英文 image cache 的缩写)来一键调用。
二、博客图床修复
上面的方法,只能让自己的浏览器恢复查看,别人还是无法查看,有没有办法让阵亡的微博图床一键恢复?
2.1、百度图片缓存
我找到了 4 个图片缓存服务网站,可以让微博图片重新恢复访问。
WordPress:
https://i0.wp.com/图片地址(图片地址要掉 https://)Weserv.nl:
https://images.weserv.nl/?url=图片地址百度 1:
https://image.baidu.com/search/down?url=图片地址百度 2:
https://gimg2.baidu.com/image_search/&app=2020&src=图片地址(图片地址要去掉 https://)
PS:百度的服务二选一。
前面两个网站的服务器在国外,延迟都在 160ms 以上,效果不尽人意,而百度的只有 10ms,速度相当的快。
也就是说。
已经阵亡的微博图床,在原先图片链接的前面加上 https://image.baidu.com/search/down?url= 即可恢复访问。
2.2、博客批量修复
一个个地在博客文章中修改太麻烦,如果你用的是 WordPress,则可以直接用 SQL 命令一键批量处理。
注意:在操作前记得备份一下数据库,即使操作不当也能及时回滚。
SQL 命令:
UPDATE wp_posts SET post_content = REPLACE( post_content, 'https://tvax1.sinaimg.cn/', 'https://image.baidu.com/search/down?url=https://tvax1.sinaimg.cn/' )
如果还有它的子域名,比如 tva1-4、tvax1-4、wx1-4、ws1-4。
按照上面的格式,再次执行 SQL 命令即可。
2.3、浏览器中打开
但是,使用百度的图片缓存服务,如果图片在新标签页打开,默认是下载图片,而不是在浏览器中查看。
我们还是可以利用 Header Editor 来让图片在浏览器中打开。
三、笔记图床修复
此外,如果你的本地笔记用的也是新浪图床,使用上面的“百度图片缓存”,也可以让图床一键恢复使用。
3.1、Windows 平台
具体操作就是“文档批量替换”,Windows 推荐软件 UltraReplace,Mac 推荐软件 MassRepalceIt。
操作方法也很简单,属于“有手就会”的操作。
3.2、Mac 平台
Mac 平台的话,由于 MassRepalceIt 没有中文版,这里简单说一下操作方法。
首先,在 Actions 一栏设置需要替换内容。
然后,在 Files 一栏选择需要批量替换的文件,点击 Replace 即可一键替换。
结尾
最后总结一下。
如果想查看已经阵亡的微博图床,可以使用扩展 Header Editor 来伪造 Referer 恢复查看。
而如果想让博客、笔记里的微博图床也恢复使用。
目前最快的方法,是使用百度的图片缓存服务,批量替换即可一键恢复。
但正如我开头所说,这个方法在未来的某一天,同样也会失效,它终究不是长久之计。所以,如果条件允许,还是考虑“搭建一个长久有效的图床”吧!