解决微信图片反防盗链的方法(此图片来自微信公众平台,未经允许不可引用)
最近手上的官网图文出现“此图片来自微信公众平台,未经允许不可引用”,导致图片显示不了,究其原因:因为微信公众平台对图片采用了防盗链设置,微信对外提供了API接口,让我们可以通过授权的方式获取到自己公众号里面的文章,或者你也可以通过爬虫去抓取微信的文章,但是微信的图片默认是不允许外部调用的。
解决方案:【文章来源CSDN Lison原创,请标明出处】
1、下载图片保存在本地上,发布图片时候上传本地图片;
2、在JS中提前把图片加载到本地,然后从本地缓存中读取图片
var showImg = function (url) {var frameid = 'frameimg' + Math.random();window.img = '<img id="img" src=\'' + url + '?' + Math.random() + '\' /><script>window.onload = function() { parent.document.getElementById(\'' + frameid + '\').height = document.getElementById(\'img\').height+\'px\'; }<' + '/script>';return '<iframe id="' + frameid + '" src="javascript:parent.img;" frameBorder="0" scrolling="no" width="100%"></iframe>';
}
通过各种iframe,form等来跳过防盗链机制,但是这种方法,对代码的结构影响很大,对一些移动类库兼容性不太好。
3、在head标签上加上【经测试,已经被和谐掉了】
<meta name="referrer" content="no-referrer" />
4、 第三方接口方式替换原防盗链接【亲测有效,难以确保长期有效】
<script type="text/javascript">
function showImage(){//获取Class为main-nav里面的所有img//var imglist=$(".main-nav img");//或使用下面这句,获取ID为divArticle里面的所有imgvar imglist=$("#divArticle img");for(var i=0;i<imglist.length;i++){if(imglist[i].getAttribute('src')){if(imglist[i].getAttribute('src').indexOf("mmbiz.qpic.cn")!=-1){imglist[i].setAttribute('src','http://img01.store.sogou.com/net/a/04/link?appid=100520029&url='+imglist[i].getAttribute('src'));}}}
}
showImage();
</script>
5、微信公众号文章保存在自己服务器【较麻烦,暂不使用】
解决微信图片反防盗链的方法(此图片来自微信公众平台,未经允许不可引用)相关推荐
- 采用Iframe解决微信图片防盗链‘此图片来自微信公众平台未经允许不可引用’问题
采用Iframe解决微信图片防盗链'此图片来自微信公众平台未经允许不可引用'问题 最近使用微信公众号爬虫遇到临时链接过期问题,查了各种博客及论坛,好多方法都已经不能用了,目前能用的就是新榜的一个临时链 ...
- java 微信图片反盗链_详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案...
已经获取微信公众号发布的图片,但不能正常显示 ,提示:此图片来自微信公众平台 未经允许不得引用. 这是怎么回事呢? 遇到这种问题是因为微信公众平台对图片采用了防盗链设置,微信对外提供了API接口,让我 ...
- 此图片来自微信公众平台未经允许不可引用 解决方法
此图片来自微信公众平台未经允许不可引用 解决方法 参考文章: (1)此图片来自微信公众平台未经允许不可引用 解决方法 (2)https://www.cnblogs.com/lmaster/p/9070 ...
- 解决“此图片来自微信公众平台未经允许不可引用”的方法
解决"此图片来自微信公众平台未经允许不可引用"的方法 参考文章: (1)解决"此图片来自微信公众平台未经允许不可引用"的方法 (2)http://www.cnb ...
- 解决“此图片来自微信公众平台 未经允许不可引用”的方法
解决"此图片来自微信公众平台 未经允许不可引用"的方法 参考文章: (1)解决"此图片来自微信公众平台 未经允许不可引用"的方法 (2)https://www. ...
- 前端解决:此图片来自微信公众平台未经允许不可引用
前端解决:此图片来自微信公众平台未经允许不可引用 方法一: <meta name="referrer" content="no-referrer" /&g ...
- 上传至微信服务器端的图片在界面中展示的时候,显示此图片来自公众平台未经允许不可引用,解决办法只需加两行代码
此图片来自公众平台未经允许不可引用 上传至微信服务器端的图片在界面中展示的时候如上图不显示图片显示 为此图片来自微信公众平台,未经允许不可引用 解决办法: 在界面的html页面头部head加入以下这两 ...
- 此图片来自微信公众平台 未经允许不可引用
问题描述; 因为微信给自己的图片都加上了图片防盗链接,只要是直接从公众号文章里复制的文章都会显示如下图所示的情况 解决方案: 方案一: 在head中加上<meta name="refe ...
- 此图片来自微信公众平台未经允许不可引用
2016年4月6号开始,weixin.sogou.com获取图片应该是加上了Referer验证,上面用的方法失效了,出现下面的情况: 此图片来自微信公众平台 未经允许不可引用 但是我找到一个和读微信网 ...
最新文章
- HDU - 3078 Network 倍增LCA
- 黄聪:TortoiseGit(乌龟git)保存用户名密码的方法
- python爬虫新闻_python爬虫,爬取一系列新闻
- 【机器学习基础】关于Scikit-Learn,你不一定知道的10件事
- 201203阶段二FFMPEG图片解码及线程
- TCP/IP TIME_WAIT状态原理
- Eclipse C/C++开发环境搭建
- Swift UISearchController
- android系统签名app自动更新,【Android 进阶】Apk 使用系统签名
- 信息学奥赛一本通C++语言——1025:保留12位小数的浮点数
- 1051. 复数乘法 (15)-PAT乙级真题
- 基于jquery的全局ajax函数处理session过期后的ajax操作
- cad lisp 背景遮罩_AutoCAD心得体会
- 软件开发的里程碑简单概念
- linux tomcat startup.sh,Tomcat 安装教程与启动-startup.sh
- Qt下绘制PPI扫描的雷达图
- xxx was compiled with optimization - stepping may behave oddly; variables may not be available.
- 硬盘更换电脑后开机解决办法
- Sprig的EL表达式和读取Properties文件教程
- apple pencil 长时间没充电,连不上iPad
热门文章
- 解一元二次方程-Java语言实现
- layui操作完成后刷新页面
- 定时定点打卡活动策划使用小程序解决方案 greeting = “Good day“;
- java 画图板 锯齿_java绘画中的锯齿问题
- 高斯勒让德(Gauss-legendre)求解多重积分(python,数值积分)
- 三菱FX系列DPLSY指令使用
- 【破茧成蝶-用户体验设计】读书笔记
- 英语学习是必可被解决的问题
- 【精益生产】精益生产十大工具
- C#如何将汉字转换成拼音