2

在我的 Ruby on Rails 应用程序中,我使用 imdb gem (https://rubygems.org/gems/imdb) 按标题搜索电影并获取海报 URL 并将其添加到我数据库中的电影模型中。然后在我看来,我将该 url 放在图像源标签中并将图像显示给用户。

我在本地运行应用程序时没有任何问题,但是当我将其部署到 Heroku 时,有时会成功渲染一些图像,但在大多数情况下,它们无法正确显示。我尝试了多个浏览器,结果当我尝试加载图像时,我收到一条“Referral Denied”消息说:

You don't have permission to access "[poster url here]" on this server. Reference #[some ref. number here]

我将如何解决这个问题?我猜这是因为 IMDB 服务器拒绝我的访问,因为要么我从我的应用程序发出了太多请求,要么因为我的应用程序没有必要的凭据来获取数据,或者可能两者兼而有之。有没有办法绕过这个?

4

1 回答 1

9

IMDB 阻止将他们网站上的图像直接链接到其他网站,我认为这个前面的问题涵盖了这个主题。

解决此问题的最简单方法是下载图像并自行托管,而不是链接 IMDB 的副本。或者,您可以调查替代电影数据库,看看它们是否可以提供您想要的东西 - IMDB API 上这个问题的答案列出了一些。Movie DB API看起来是个不错的选择。

于 2012-06-18T00:51:50.543 回答