首页 > 解决方案 > 为从标签发出的请求设置自定义引荐来源网址

问题描述

有时网站不会让您在没有有效推荐人的情况下加载图像。以此为例,它返回一个禁止的错误在一个类似的问题中,我找到了这个答案,建议做这样的事情:

<img src onerror="fetch('https://i.pximg.net/img-original/img/2020/11/28/06/04/23/85949640_p0.png', {headers: {Referer: 'https://www.pixiv.net/en/'}}).then(r=>r.blob()).then(d=> this.src=window.URL.createObjectURL(d));" />

但是,这仍然无法加载图像。检查一些承诺通过安装脚本来修复此错误的扩展程序的代码表明它们只是在更改引用,并且应该可以使事情正常进行。

标签: javascript

解决方案


有时网站不会让您在没有适当的引荐来源的情况下加载图像。

是的。许多网站不想付费存储图像并通过网络传输它们,以便免费加载者可以在他们的网站上显示它们而无需承担费用。

在一个类似的问题中,我找到了这个答案,这表明做这样的事情

失败有两个原因。

  1. 这是一个禁止的标题。浏览器旨在防止您的 JavaScript 谎报请求被触发的位置。
  2. 大多数托管图片的网站都不会通过 CORS 向第三方授予使用 JS 读取图片的权限。如果他们进行引用检查以停止免费加载,他们就更不可能了!

如果网站不希望您显示他们托管的图像,您需要尊重这一点。

而是为您自己的图像托管付费。

不要将图像从第三方复制到您自己的网站,除非您确定它们不受版权保护(或您获得许可)。


推荐阅读