【问题标题】:Error 403 Html image get错误 403 Html 图片获取
【发布时间】:2016-10-25 20:58:34
【问题描述】:

如果我直接在浏览器上打开这些图像,它不会工作,但在剪辑上它可以工作。我的本地主机,我没有。这是为什么?这是我从控制台日志中得到的错误。如何确保图像始终显示?

nikon-d1x-s.jpg:1 获取 http://www.vistaview360.com/cameras/images/nikon_images/nikon-d1x-s.jpg 403(禁止)nikon-d1-s.jpg:1 GET http://www.vistaview360.com/cameras/images/nikon_images/nikon-d1-s.jpg 403(禁止)nikon-e3s-s.jpg:1 GET http://www.vistaview360.com/cameras/images/nikon_images/nikon-e3s-s.jpg 403(禁止)nikon-e2n-s.jpg:1 GET http://www.vistaview360.com/cameras/images/nikon_images/nikon-e2n-s.jpg 403(禁止)nikon-e2-s.jpg:1 GET http://www.vistaview360.com/cameras/images/nikon_images/nikon-e2-s.jpg 403(禁止)dance.html:145 scrool

<img src="http://www.vistaview360.com/cameras/images/nikon_images/nikon-d1x-s.jpg" "/>

【问题讨论】:

  • 403 Forbidden 响应中可以清楚地看出,托管这些图片的人不希望您将它们包含在您的网站中并带有指向他们网站的链接。
  • 对我来说,第一个图像加载正确。其他的不工作。
  • 我可以通过在 curl 中加载图像来加载它们。我的浏览器无法获取任何信息。可能是用户代理阻塞?
  • 正如@adeneo 所说,托管这些图像的服务器对访问它们有限制。这可能会帮助developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

标签: javascript jquery html css image


【解决方案1】:

很可能,服务器进行了一些检查以防止hot linking

这些检查的类型各不相同。一些服务器检查引用字符串,其他一些 cookie 等。

我不会尝试在您的网站中包含这些图像,因为意图很明确:远程服务器不希望您包含它们,并且您不知道他们将来会采取哪些措施来阻止您不要这样做,所以它可能随时中断。

相反,下载这些图像并提供您自己的副本(前提是您没有侵犯任何版权,即...)

如果您仍想热链接它们,请将您的浏览器发出的请求中的标头与您可以访问它们时发送的标头进行比较,以尝试找出罪魁祸首。

【讨论】:

    【解决方案2】:

    该站点阻止您访问跨站点来源的图像。主机很可能只允许来自其域的来源或基于诸如用户代理之类的标头进行阻止。他们这样做是为了让您不能在另一个站点上托管图像,因为每次访问时他们都必须为带宽付费。所以答案是,你不能像这样交叉托管图像。

    相反,您需要下载图片并自行托管,或者联系托管商并要求他们将您的域列入白名单。但是,这对 localhost 没有帮助。

    【讨论】:

    • 我可以使用 wget 下载图像而无需在他们的网站上,因此这不是网站来源问题。他们更有可能实施了不同的检查。
    • 是的,我已经添加了它也可以是用户代理检查的事实。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-31
    • 2020-12-14
    • 2018-01-06
    • 2018-06-12
    相关资源
    最近更新 更多