Запрещено 403 из-за того, что Amazon блокирует запросы iframe. Google делает то же самое, и если вы загрузите Google в Chrome и откроете инспектор сети, вы увидите что-то вроде этого в заголовках:
Если вы посмотрите на скриншот, вы увидите, что Google устанавливает заголовок с именем x-frame-options
со значением SAMEORIGIN
. Современные браузеры читают этот заголовок, а сам браузер не позволяет вам ввести его. Вот почему это работает, когда вы помещаете это прямо на свою веб-страницу.
Я справился с этим, создав прокси в том же домене и вставив вместо него фрейминг. Например, установите маршрут на yourapp.com/proxy
и в действии GET выполните HTTP-запрос на стороне сервера, чтобы получить нужный URL-адрес. Затем вы отображаете это в своем представлении и извлекаете URL-адрес для запроса из параметра запроса, поэтому вместо iframing http://amazon.com/...
вы iframe http://yourapp.com/proxy?url=http://amazon.com/...
и вуаля! вы получите тот же результат.