Это старая ветка, но у меня была похожая проблема, и я нашел решение, которого здесь нет.
Я получал страницу нормально в браузере, но получил 404, когда пытался получить к ней доступ через HttpURLConnection. URL, к которому я пытался получить доступ, содержал номер порта. Когда я попробовал это без номера порта, я успешно получил фиктивную страницу через HttpURLConnection. Так что, похоже, проблема была в нестандартном порте.
Я начал думать, что доступ был ограничен, и в некотором смысле это было. Мое решение состояло в том, что мне нужно было сообщить серверу User-Agent, и я также указал ожидаемые типы файлов. Я пытаюсь прочитать файл .json, поэтому я подумал, что тип файла также может быть необходимой спецификацией.
Я добавил эти строки, и это наконец заработало:
httpConnection.setRequestProperty("User-Agent","Mozilla/5.0 ( compatible ) ");
httpConnection.setRequestProperty("Accept","*/*");