Ueditor在抓取远程图片时返回“链接不可用”,但图片明明可以访问,其实是……
Ueditor在抓取远程图片时返回“链接不可用”,但图片明明可以访问,其实是对方网站开启了防盗链。
UeditorUpload.class.php无改动的情况下,在saveRemote()方法中的206行get_headers这个方法,会先去请求一次header头数据,然后再用readfile获取内容体。至少请求了两次,才得到内容体。这种方法已经相当落后,对于懒人来说,也能用,但碰到对方加了防盗链,这个get_headers返回的不再是200的header头,而是403,导致无法抓取远程图片。
修正方法:
将get_headers和readfile相关代码全部重写。只需要用curl一次获取内容体即可。
UeditorUpload.class.php无改动的情况下,在saveRemote()方法中的206行get_headers这个方法,会先去请求一次header头数据,然后再用readfile获取内容体。至少请求了两次,才得到内容体。这种方法已经相当落后,对于懒人来说,也能用,但碰到对方加了防盗链,这个get_headers返回的不再是200的header头,而是403,导致无法抓取远程图片。
修正方法:
将get_headers和readfile相关代码全部重写。只需要用curl一次获取内容体即可。