在我的Ruby on Rails应用程序中,我使用imdb gem(https://rubygems.org/gems/imdb)按标题搜索电影并抓取海报网址并将其添加到我所拥有的电影模型中我的数据库。然后在我看来,我将该URL放在图像源标签中并将图像显示给用户。
当我在本地运行我的应用程序时,我没有任何问题,但是当我将它部署到Heroku时,有时会成功渲染一些图像,但在大多数情况下,它们显示不正确。我尝试过多个浏览器,当我尝试加载图片时,我得到一条“推荐被拒绝”的消息说:
You don't have permission to access "[poster url here]" on this server. Reference #[some ref. number here]
我该如何解决这个问题?我猜这是因为IMDB服务器拒绝我的访问权限,因为我要么从我的应用程序发出太多请求,要么因为我的应用程序没有必要的凭据来获取数据或者两者兼而有之。有没有办法绕过这个?
答案 0 :(得分:9)
IMDB阻止直接链接其他网站上的网站图片,我认为previous question涵盖了该主题。
解决此问题的最简单方法是下载图像并自行托管,而不是链接IMDB的副本。或者,您可以调查替代电影数据库以查看它们是否可以提供您想要的内容 - this question on IMDB APIs的答案列出了一些。 The Movie DB API看起来是个不错的选择。