访问图片出现403的解决方法
在写小程序的时候,访问一个网址获取图片,但是显示会出现403(防止盗链)的错误.
总结了一下,有两种方法是可以解决这个问题的:
- 使用
images.weserv.nl
方案 - 使用
no-referrer
方案
第一种:使用images.weserv.nl
方案
1
2
3
4
5
6
7
|
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=
如:
1
|
https: //images.weserv.nl/?url=http://img.zcool.cn/community/01d881579dc3620000018c1b430c4b.JPG@3000w_1l_2o_100sh.jpg |
原图片的http://
是可以省略的(与上面的getImage
函数是一样的结果)
1
|
https: //images.weserv.nl/?url=mg.zcool.cn/community/01d881579dc3620000018c1b430c4b.JPG@3000w_1l_2o_100sh.jpg |
第二种:使用no-referrer
方案
这种方案不仅针对图片的防盗链,还可以是其他标签.
在前端页面头部添加一个meta
1
|
<meta name= "referrer" content= "no-referrer" /> |
a标签的referrer
1
|
<a href= "http://example.com" referrer= "no-referrer|origin|unsafe-url" >xxx</a> |
img/image标签的referrer
1
2
|
<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网站都支持第二种方式,还是有些会失败.请大家自行试验.如果有更好的方法可以一起交流.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
2020-10-14 Vue Nginx反向代理配置 解决生产环境跨域
2020-10-14 VUE中跨域问题