关于第三方图片资源403问题

为什么文章列表数据中的好多图片资源请求失败返回 403?

在这里插入图片描述

这是因为我们项目的接口数据是后端通过爬虫抓取的第三方平台内容,而第三方平台对图片资源做了防盗链保护处理。

1. 第三方平台怎么处理图片资源保护的?

服务端一般使用 Referer 请求头识别访问来源,然后处理资源访问。

2. Referer 是什么东西?

扩展参考:http://www.ruanyifeng.com/blog/2019/06/http-referer.html
Referer 是 HTTP 请求头的一部分,当浏览器向 Web 服务器发送请求的时候,一般会带上 Referer,它包含了当前请求资源的来源页面的地址。服务端一般使用 Referer 请求头识别访问来源,可能会以此进行统计分析、日志记录以及缓存优化等。
在这里插入图片描述

需要注意的是 referer 实际上是 “referrer” 误拼写。参见 HTTP referer on Wikipedia (HTTP referer 在维基百科上的条目)来获取更详细的信息。

3. 怎么解决?

不要发送 referrer ,对方服务端就不知道你从哪来的了,姑且认为是你是自己人吧。

4. 如何设置不发送 referrer?

<a><area><img><iframe><script> 或者 <link> 元素上的 referrerpolicy 属性
为其设置独立的请求策略,例如:
<img src="http://……" referrerPolicy="no-referrer">

或者直接在 HTMl 页面头中通过 meta 属性全局配置:

<meta name="referrer" content="no-referrer" />

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/470425.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单链表的初始化,整表创建,单个元素插入,单个元素删除,整表删除等操作...

很早之前学的数据结构&#xff0c;放了很久后&#xff0c;以致对里面的一些操作都有些遗忘&#xff0c;故而再次温习了一下数据结构&#xff0c;并整理了一点儿笔记&#xff0c;放在这里和大家分享&#xff0c; 我的代码注释的已经很详细了&#xff0c;对于容易出错的地方我也都…

hdfs复制文件夹_HDFS常用命令

一.HDFS命令行Hadoop help命令的使用1.hadoop -help查询所有Hadoop Shell支持的命令2.distcp这是Hadoop下的一个分布式复制程序&#xff0c;可以在不t同的HDFS集群间复制数据&#xff0c;也可以在本地文件间复制数据。hadoop distcp将/test/test.txt文件复制到/test/cp下面&…

人工智能python零基础入门教程_人工智能零基础入门视频教程

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼人工智能零基础入门视频教程100天人工智能工程师学习计划 —— 全程实战案例&#xff0c;从机器学习原理到推荐系统实现&#xff0c;从深度学习入门到图像语义分割及写诗机器人&#xff0c;再到专属GPU云平台上的四大工业级实战项目…

处理相对时间(Day.js、Moment.js)(案例:结合vue的过滤器使用)

推荐两个第三方库&#xff1a; Moment.jsDay.js 两者都是专门用于处理时间的 JavaScript 库&#xff0c;功能差不多&#xff0c;因为 Day.js 的设计就是参考的 Moment.js。但是 Day.js 相比 Moment.js 的包体积要更小一些&#xff0c;因为它采用了插件化的处理方式。 Day.js…

Linux之Json20160705

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式&#xff0c;这些特性使JSON成为理想的数据交换语言。易于人阅读和编写&#xff0c;同时也易于机器解析和生成。 基础结构 JSON建构于两种结构&#xff1a;1. “名称/值”对的集…

下载 嵌入式qt实战教程pdf_Qt之JSON教程-实战篇

以实战例子讲述JSON三兄弟的后续故事。实战一&#xff1a;发送JSON网络请求作为JSON老大哥的QJsonValue自知对面的大户人家妹子貌美如花&#xff0c;心里已经打起算盘&#xff0c;先下手为强&#xff0c;后下手遭殃。决定显示下自己的家底&#xff0c;想起这件事&#xff0c;老…

注册tomcat为服务

http://guomingjun.iteye.com/blog/1564894转载于:https://www.cnblogs.com/diyunpeng/p/5646055.html

Vue移动端项目——搜索联想建议功能的实现(结合watch属性和使用lodash防抖节流)

搜索联想建议 1. 基本思路&#xff1a; 当搜索框输入内容的时候&#xff0c;请求加载联想建议的数据 将请求得到的结果绑定到模板中 2. 基本功能 一、将父组件中搜索框输入的内容传给联想建议子组件 二、在子组件中监视搜索框输入内容的变化&#xff0c;如果变化则请求获取…

.net get set 初始化_.NET项目升级:可为空引用

(给DotNet加星标&#xff0c;提升.Net技能)转自&#xff1a;波多尔斯基cnblogs.com/podolski/p/12692888.html前言C#8引入了新特性&#xff1a;可为空引用https://docs.microsoft.com/zh-cn/dotnet/csharp/nullable-references这个功能个人觉得挺好的&#xff0c;能够非常明确的…

用GDB排查Python程序故障

某Team在用Python开发一些代码&#xff0c;涉及子进程以及设法消除僵尸进程的需求。实践中他们碰上Python程序非预期退出的现象。最初他们决定用GDB调试Python解释器&#xff0c;查看exit()的源头。我听了之后&#xff0c;觉得这个问题应该用别的调试思路。帮他们排查这次程序故…

解决后端返回数据中的大数字问题(使用第三方包json-bigint )

JavaScript 能够准确表示的整数范围在-2^53到2^53之间&#xff08;不含两个端点&#xff09;&#xff0c;超过这个范围&#xff0c;无法精确表示这个值&#xff0c;这使得 JavaScript 不适合进行科学和金融方面的精确计算。 Math.pow(2, 53) // 90071992547409929007199254740…

java 静态代码块_关于Java你不知道的那些事之代码块

前言普通代码块&#xff1a;在方法或语句中出现的{}&#xff0c;就被称为代码块静态代码块&#xff1a;静态代码块有且仅加载一次&#xff0c;也就是在这个类被加载至内存的时候普通代码块和一般语句执行顺序由他们在代码中出现的次序决定&#xff0c;先出现先执行代码一/**对于…

Vue项目开发过程中解决跨域问题(vue.config.js结合axios)

一、问题描述 在本地开发过程中&#xff0c;调用后端提供的接口获取数据将获取的数据渲染到页面中&#xff0c;但是浏览器报错&#xff1a; // 控制台报错信息 Access to XMLHttpRequest at http://x.x.x.x/app/v1_0/user/followings from origin http://localhost:8080 has…

css之规范命名

Css的规范命名 头&#xff1a;header   内容&#xff1a;content/container   尾&#xff1a;footer   导航&#xff1a;nav   侧栏&#xff1a;sidebar 栏目&#xff1a;column   页面外围控制整体布局宽度&#xff1a;wrapper   左右中&#xff1a;left r…

python 查询sqlserver 视图_SQL Server查看视图定义总结

在SQL Server中如何查看数据库视图的定义呢&#xff1f; 其实官方文档已经有一个较详细的总结了&#xff0c;这里在官方文档的基础上&#xff0c;我们再深入展开分析一下&#xff0c;例如如何获取系统视图的定义。知其然知其所以然吗。1&#xff1a;使用SQL Server Management …

WebSocket实现实时通信

WebSocket 是一种数据通信协议&#xff0c;也是用于客户端和服务端数据通信&#xff0c;类似于我们常见的 http 既然有 http&#xff0c;为啥还要 WebSocket http 通信是单向的 请求 响应 没有请求也就没有响应 初次接触 WebSocket 的人&#xff0c;都会问同样的问题&#xf…

response.setContentType()的作用及MIME参数详解

转自脚本之家 原文http://www.jb51.net/article/32773.htmresponse.setContentType(MIME)的作用是使客户端浏览器&#xff0c;区分不同种类的数据&#xff0c;并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据,本文详细介绍&#xff0c;需要了解的朋友可以参考…

使用socket.io搭建一个实时聊天机器人

一、安装socket.io npm i socket.io --save二、使用 第一种&#xff1a;服务端使用原生node // 创建http服务器 const http require(http) var fs require(fs) const app http.createServer()app.on(request, (req, res) > {fs.readFile(__dirname /index.html, funct…

真随机和伪随机区别_用骰子DIY真随机助记词 | 火星号精选

免责声明&#xff1a;本文旨在传递更多市场信息&#xff0c;不构成任何投资建议。文章仅代表作者观点&#xff0c;不代表火星财经官方立场。小编&#xff1a;记得关注哦

EasyDarwin开源流媒体服务器性能瓶颈分析及优化方案设计

EasyDarwin现有架构介绍 EasyDarwin的现有架构对网络事件的处理是这样的&#xff0c;每一个Socket连接在EasyDarwin内部的对应存在形式就是一个Session&#xff0c;不论是RTSP服务对应的RTSPSession&#xff0c;还是HTTP服务对应的HTTPSession&#xff0c;都是一个继承自Task类…