Imgur 图像返回 403

IT技术 javascript reactjs imgur
2021-05-20 18:24:17

我一直在制作一个react应用程序,最近每当我尝试从 imgur 访问图像时

this.setState({
  imgUrl: `https://i.imgur.com/${this.props.image.id}b.png`,
  imgBigUrl: `https://i.imgur.com/${this.props.image.id}l.png`
});

它被渲染成这样

<img src={this.state.imgUrl}/>

但是我一直被 403 禁止,但是当我使用邮递员或在浏览器中访问它时,它很好。我还通过传入像这样的专辑网址来访问 API

https://imgur.com/gallery/zrUFj

并从那里获取所有图像以显示在应用程序中(我收到 403 错误)

我不确定我可能做错了什么,我也尝试为 API 授权获取一个新的客户端 ID,但仍然没有用。有人有什么建议吗?

2个回答

Imgur 的 CDN 似乎限制了从127.0.0.1引用者访问图像这已作为问题(服务器配置问题)报告给他们。

同时尝试将您的开发服务器主机更改127.0.0.1localhost或您的真实 IP 地址。

请注意,解决此问题的一种快速而笨拙的方法是通过<meta>标签简单地删除引用标头

<!DOCTYPE html>
<html>
<head>
  <meta name="referrer" content="no-referrer">
</head>
<body>
  ...
</body>
</html>

或在您的fetch

await fetch("https://i.imgur.com/iie9XhM.jpg", {referrer:""})

或(如@Theblockbuster1 所述)在img标签中:

<img src="https://i.imgur.com/iie9XhM.jpg" referrerpolicy="no-referrer">