在写小程序的时候,访问一个网址获取图片,但是显示会出现403(防止盗链)的错误.
总结了一下,有两种方法是可以解决这个问题的:
使用images.weserv.nl方案
使用no-referrer方案
第一种:使用images.weserv.nl方案getImage(url){
console.log(url);
// 把现在的图片连接传进来,返回一个不受限制的路径
if(url !== undefined){
return url.replace(/^(http)[s]*(\:\/\/)/,’https://images.weserv.nl/?url=’);
}
}
把图片路径直接传进去,替换一下原来url的http/https.或者直接在图片url前加上https://images.weserv.nl/?url=
如:
https://images.weserv.nl/?url=http://img.zcool.cn/community/01d881579dc3620000018c1b430c4b.JPG@3000w_1l_2o_100sh.jpg
原图片的http://是可以省略的(与上面的getImage函数是一样的结果)
https://images.weserv.nl/?url=mg.zcool.cn/community/01d881579dc3620000018c1b430c4b.JPG@3000w_1l_2o_100sh.jpg
第二种:使用no-referrer方案
这种方案不仅针对图片的防盗链,还可以是其他标签.
在前端页面头部添加一个meta
<meta name=”referrer” content=”no-referrer” />
referrer的几种状态
a标签的referrer
<a href=”http://example.com” referrer=”no-referrer|origin|unsafe-url”>xxx</a>
img/image标签的referrer
<img referrer=”no-referrer|origin|unsafe-url” src=”{{item.src}}”/>
<image referrer=”no-referrer|origin|unsafe-url” src=”{{item.src}}”></image>
说明
如果我们是访问的gif图片,使用第一种方案是没有gif效果的,只能显示静态图片.这个时候推荐大家使用第二种.亲测可以完美展示gif效果.
–补充—
经过试验,不是多有gif网站都支持第二种方式,还是有些会失败.请大家自行试验.如果有更好的方法可以一起交流.
文章参考:
https://segmentfault.com/a/1190000011628835
https://www.cnblogs.com/mttcug/p/8109036.html
1.本网站资源来源于网络收集,如有侵权,请联系站长进行删除处理。请发送邮件至:chensi2024@foxmail.com,我们将第一时间处理!
2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需。
3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读网站声明。
4.如下载链接失效,请在当前页留言或私信管理员,24小时必处理结束!
5.本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解。
6.本站提供的资源仅限用于学习交流和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险以及产生法律纠纷与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除。