Я пытаюсь получить содержимое изображения, находящегося под защитой хотлинка.
Сначала я попытался сделать это на PHP на веб-сайте, работающем под Apache на моем локальном компьютере, используя file_get_contents (), и это работает. Похоже, это обходит защиту Hotlink. Код его прост:
$data = file_get_contents($url);
Однако, когда я пытаюсь сделать то же самое в приложении JavaSE, оно не работает, защита не позволяет мне иметь доступ к файлу. Вот код:
URL url = new URL(imageUrl);
URLConnection connection = url.openConnection();
connection.setRequestProperty("Referer","http://www.example.com");
connection.connect();
InputStream is = connection.getInputStream();
Возвращает 403 кода. Я установил свойство «Referer» на тот же хост, к которому принадлежит изображение.
Итак, почему это происходит? Какая разница в запросе между file_gets_content и кодом Java?
Задача ещё не решена.
Других решений пока нет …