此图片来自微信公众平台未经允许不可引用

2016年4月6号开始,weixin.sogou.com获取图片应该是加上了Referer验证,上面用的方法失效了,出现下面的情况:

此图片来自微信公众平台 未经允许不可引用 

但是我找到一个和读微信网站相同的网站,传送门,这个网站能通过js设置能在网站上显示图片,我把相同的脚步用到读微信网站上就不行,不知道是什么原因

传送门网址可以用的代码如下:

function changeData(data, tag){
    for(var i = 0; i < data.length; i++){
        if(!data[i].hasAttribute("data-src") && data[i].hasAttribute("src") && (data[i].getAttribute("src")).lastIndexOf('http://', 0) === 0 && (data[i].getAttribute("src")).indexOf('chuansong.me/') == -1){
            data[i].setAttribute("data-src", data[i].getAttribute("src"));
        }
        if(data[i].hasAttribute("data-src")){
            datasrc = data[i].getAttribute("data-src");
            datasrc = datasrc.replace("https://v.qq.com/", 'http://v.qq.com/');
            if(datasrc.indexOf("http://mmbiz.qpic.cn")!=-1){
            	 data[i].setAttribute("src", (tag == 'image' && datasrc.indexOf('http://read.html5.qq.com/image') == -1) ? "http://read.html5.qq.com/image?src=forum&q=5&r=0&imgflag=7&imageUrl=" + datasrc : datasrc);
                 data[i].removeAttribute("data-src");
            }
        }   
    }   
}
var imgs = document.getElementsByTagName('img');
var videos = document.getElementsByClassName('video_iframe');
changeData(imgs, 'image');
changeData(videos, 'video');

原文:https://segmentfault.com/q/1010000004896098

你可能感兴趣的:(此图片来自微信公众平台未经允许不可引用)