网页网站您现在的位置是:首页 > 博客日志 > 网页网站

ueditor 无法远程抓取百家号文章中的gif图片Bug解决方法

<a href='mailto:'>微wx笑</a>的头像微wx笑2020-09-08 12:26:08网页网站人已围观关键字: ueditor  gif  Bug  百家号  

今天转载了一篇百家号的文章“涿州桃园路开始封闭施工”,发现文章的静态图片能够远程抓取成功,保存到自己的服务器上;但是动图gif就远程抓取失败了,后台返回的错误信息是链接con

今天转载了一篇百家号的文章“涿州桃园路开始封闭施工”,发现文章的静态图片能够远程抓取成功,保存到自己的服务器上;但是动图gif就远程抓取失败了,后台返回的错误信息是链接contentType不正确gif,以下为抓取结果的控制台输出(为了方便调试):Bw9编程技术_踩坑日志_进阶指南_无知人生

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结构,控制台输出后展开再复制就是这个样子了,没有截图,看着没有在控制台中显示的那么友好。
Bw9编程技术_踩坑日志_进阶指南_无知人生

可以看出失败的地址是"https://tukuimg.bdstatic.com/scrop/de5ddb53ad541fbfbfffb48f394e61f0.gif",查看该地址返回的“contentType”,确实是只有“gif”。Bw9编程技术_踩坑日志_进阶指南_无知人生

通常contentType的格式应该是“image/gif”,但是它不是,所以就导致了这个问题。同时还看到一个HTTP头“Content-MD5”,查询了解到是用来验证内容真实完整性的,但是其作用不大。Bw9编程技术_踩坑日志_进阶指南_无知人生

问题解决方法:

在格式验证(扩展名验证和Content-Type验证)代码中再添加一句“gif”扩展名的验证Bw9编程技术_踩坑日志_进阶指南_无知人生

        //格式验证(扩展名验证和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;
          }
        }

相关文章:

ueditor 无法远程抓取微信公众号文章图片的Bug解决方法Bw9编程技术_踩坑日志_进阶指南_无知人生

百度UEditor远程图片抓取代码存在的BugBw9编程技术_踩坑日志_进阶指南_无知人生

帝国cms后台文章编辑器UEditor拉取远程图片Bug修复Bw9编程技术_踩坑日志_进阶指南_无知人生


Bw9编程技术_踩坑日志_进阶指南_无知人生

本文由 微wx笑 创作,采用 CC BY-NC 4.0 许可协议。 非商业性使用可自由转载、引用、甚至修改,但需署名作者且注明出处。

很赞哦! () 有话说 ()

上一篇:js禁止页面滚动

下一篇:返回列表