0

Вот мой код:Как исправить urlConnection.getResponseCode = 403

urlConnection = (HttpURLConnection) url.openConnection(); 
       urlConnection.setRequestMethod("GET"); 
       urlConnection.connect();  
        int status = urlConnection.getResponseCode(); 
        // Read the input stream into a String 
        InputStream inputStream = urlConnection.getInputStream(); 
        StringBuffer buffer = new StringBuffer(); 
        if (inputStream == null) { 
         return; 
        } 
        reader = new BufferedReader(new InputStreamReader(inputStream)); 

Вот пример моего JSON:

[{"Id":1,"Name":"Алупка","RegionId":1},{"Id":2,"Name":"Алушта","RegionId":1},{"Id":3,"Name":"Армянськ","RegionId":1}] 

Вот URL: http://donor.ua/api/cities?sign=9u1AARsgKybup3vz9CaQnw==ivbCaKmrWpgz

Но urlConnection.getResponseCode() еще вернется "403".

Пожалуйста, скажите, как это исправить! Спасибо заранее!

+0

Вы пробовали изменения URL к HTTPS? Сервер говорит мне, что это требуется, и когда я меняю его, я получаю полезную нагрузку. – WoogieNoogie

ответ

1

Когда я пытаюсь загрузить URL-адрес, указанный вами в вопросе, он говорит, что требуется HTTPS. Используя Firebug, я подтвердил, что сервер фактически возвращает 403 в этом случае. Изменение протокола от http до https возвращает JSON, как ожидалось. Итак, в вашем коде, когда вы создаете свой объект URL, убедитесь, что указанный вами URL-адрес начинается с https: // вместо http: //

-1

Ошибка может быть из-за того, что сервер отклоняет соединение из-за вас не отправляют «User-Agent».

добавить эту строку для того, чтобы исправить это:

connection.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0");