日报每天都发不出图,新番那栏全是占位
早报推送,每天一次。文字部分正常,图片位置全是占位框——一个空白的方框,或者一个默认的"图裂"图标。
而且不是全部图都挂,是某些栏目的图挂,最明显的是"今日新番"那几栏。
外链图片的三种死法
这个插件的图片不是自己存的,是直接从番剧信息站引用的封面图 URL。这类外链图片失效通常有三种原因:
一是防盗链。 图片站会检查请求头里的 Referer,发现是从别的地方引用的就拒绝。这种情况下图片浏览器里能看到(因为你从那个站点的页面点进去的,Referer 对),但机器人抓过来就 403。
二是 URL 变更。 图片的 CDN 域名换了、路径规则改了,旧 URL 全部失效。
三是本地问题。 图片能下载,但渲染环节出问题——比如渲染器不认某个图片格式、或者超时时间太短还没下完就放弃了。
怎么快速分辨
最快的办法是直接拿那个 URL 打一次:
curl -I "<图片URL>"
看返回状态码和响应头。403 就是防盗链或者被拦;404 是 URL 失效;200 但返回的是 HTML 而不是图片,说明跳到了某个错误页。
如果 curl 拿得到图片(状态码 200、Content-Type: image/*),那问题就在渲染环节,跟图源无关。
这一步能立刻把"外部原因"和"内部原因"分开,比在插件代码里瞎找快得多。
那个"好了"
这个问题的处理过程只留了一句"好了"——中间怎么修的没记下来。
但这不重要,值得记的是这类问题的排查顺序:先判断 URL 本身还有没有效,再判断是不是请求方式的问题(Referer、UA),最后才怀疑渲染。
跳过前两步直接看代码,容易白忙——因为代码可能完全没问题,只是它拿到的图挂了。