Я создаю приложение, которое в основном загружает изображение с определенного мной URL-адреса и сохраняет его на устройстве пользователя.Я делаю это с:
URL url = new URL("http://speedtest.clotheslinedigital.com");
HttpURLConnection c = (HttpURLConnection) url.openConnection();
c.setRequestMethod("GET");
c.connect();
И затем, проверив, что хранилище работает правильно и создав пустой файл для сохранения на устройстве, я использую поток вывода файла и поток ввода для загрузкифайл на устройство.
В целях тестирования я только что использовал ссылку для скачивания Dropbox на изображение, и оно отлично работает.Однако в производственной среде я хочу использовать перенаправление субдоменов DNS для ссылки на файл вместо жестко закодированной ссылки в моем приложении, чтобы мне не приходилось обновлять приложение, если я изменил путь к файлу, который требуется приложениюдля загрузки.
Для тестирования я установил перенаправление 301 через мой Godaddy DNS, который перенаправляет на ссылку Dropbox, которую я использовал для тестирования в жестком коде.Субдомен отлично работает, когда я ввожу субдомен в своем браузере, но когда я хардкору URL субдомена в свое приложение, ничего не загружается, а просто остается пустой файл (тот, который был создан после запроса, который будет использоваться для хранениязагруженный файл).
Я попытался использовать setFollowRedirects () и установить для него значение true, которое, по моему мнению, является значением по умолчанию, но я все равно попытался, но все равно не получилось.
Я подумал, может быть,проблема заключалась в том, что HttpURLConnection не мог обработать коды ответа 301 с сервера, но я посмотрел заголовок ссылки Dropbox, и он 301 перенаправляет приложение перед загрузкой файла без проблем.
Любые идеикак это исправить?