Защита от скачивания картинок с сайта

Рейтинг: 1Ответов: 1Опубликовано: 10.09.2014

Задача стоит с помощью C# скачать со страницы товара в интернет-магазине картинки товара. Вот, например, отсюда: http://technopoint.ru/catalog/i6630211/pk-dns-office-xl-pentium-g2030-4gb-500gb-dvdrw

Я парсю url картинки (например, такой http://s.technopoint.ru/up/description/cache/price_item_detail_small/9392492_0.1404381486.jpg ) и пытаюсь с помощью WebClient.DownloadFile скачать изображение. Выдает exception "Удаленный сервер возвратил ошибку: (404) Не найден". Видимо, тут стоит какая-то защита от скачивания.

Если открыть изображение по этой ссылке в новой вкладке браузера, то все отображается нормально. Если же эту вкладку обновить, вместо изображения пишет "Страница или файл, которые вы запросили, не найдены, перемещены или временно не доступны."

Как можно обойти это ограничение и скачать изображения?

Ответы

▲ 6Принят

Быть может, там сделали так: Все URL для картинок предварительно обрабатываются сервом, на котором сам сайт построен (а не Apache/Nginx, как на многих сайтах). При загрузке картинки стоит проверка на заголовок Referer (он будет равен той странице, с на которой расположена картинка). Если он не совпадает с нужным значением, генерится 404. Если всё ок, возвращается нормальная картинка.