ueditor 无法远程抓取百家号文章中的gif图片Bug解决方法
微wx笑 2020-09-08【网页网站】 9 0关键字: ueditor gif Bug 百家号
今天转载了一篇百家号的文章“涿州桃园路开始封闭施工”,发现文章的静态图片能够远程抓取成功,保存到自己的服务器上;但是动图gif就远程抓取失败了,后台返回的错误信息是链接con
今天转载了一篇百家号的文章“涿州桃园路开始封闭施工”,发现文章的静态图片能够远程抓取成功,保存到自己的服务器上;但是动图gif就远程抓取失败了,后台返回的错误信息是链接contentType不正确gif,以下为抓取结果的控制台输出(为了方便调试):
Object list: Array(3) 0: {state: "SUCCESS", url: "/ue-upload/image/20200908/1599526005159075.jpeg", size: 27628, title: "1599526005159075.jpeg", original: "500fd9f9d72a6059bb4f14db9dff099c013bbae3.jpeg", …} 1: original: "" size: null source: "https://tukuimg.bdstatic.com/scrop/de5ddb53ad541fbfbfffb48f394e61f0.gif" state: "链接contentType不正确gif" title: "" url: null __proto__: Object 2: original: "" size: null source: "https://tukuimg.bdstatic.com/scrop/0fc14afe84c89130a4eee4124d49681d.gif" state: "链接contentType不正确gif" title: "" url: null __proto__: Object length: 3 __proto__: Array(0) state: "SUCCESS" __proto__: Object
返回的是一个JSON结构,控制台输出后展开再复制就是这个样子了,没有截图,看着没有在控制台中显示的那么友好。
可以看出失败的地址是"https://tukuimg.bdstatic.com/scrop/de5ddb53ad541fbfbfffb48f394e61f0.gif",查看该地址返回的“contentType”,确实是只有“gif”。
通常contentType的格式应该是“image/gif”,但是它不是,所以就导致了这个问题。同时还看到一个HTTP头“Content-MD5”,查询了解到是用来验证内容真实完整性的,但是其作用不大。
问题解决方法:
在格式验证(扩展名验证和Content-Type验证)代码中再添加一句“gif”扩展名的验证
//格式验证(扩展名验证和Content-Type验证) if (!isset($heads['Content-Type']) || (!stristr($heads['Content-Type'], "image") && !stristr($heads['Content-Type'], "application/octet-stream"))) { if (!stristr($heads['Content-Type'], "gif")){ $this->stateInfo = $this->getStateInfo("ERROR_HTTP_CONTENTTYPE").$heads['Content-Type']; return; } }
相关文章:
本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/blog/web/2020-09-08/528.html
上一篇:js禁止页面滚动