Android responseCode 400, если Android-версия ниже 4

кто-нибудь знает, почему я получаю ResponseCode 400 на Android 2.x? В Android 4.x это работает, и сервер возвращает 200.

        URL url = new URL(url_in);
        URI uri = new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), url.getPort(), url.getPath(), url.getQuery(), url.getRef());
        url = uri.toURL();
        HttpURLConnection c = (HttpURLConnection) url.openConnection();
        c.setRequestMethod("GET");
        c.setRequestProperty("Accept-Encoding", "identity");
        c.setRequestProperty("Accept-Charset", "UTF-8");
        c.setRequestProperty("Content-Type", "text/html");

        c.setConnectTimeout(timeout);
        c.setReadTimeout(timeout);
        c.connect();
        int status = c.getResponseCode();

В чем разница?


person Alexander Sidikov Pfeif    schedule 21.05.2013    source источник
comment
Я не совсем уверен, в чем ваша проблема, но 2.x имел другую реализацию HttpURLConnection, чем 4.x. В версии 2.x рекомендуется использовать HttpClient, а в версии 4.x — HttpUrlConnection. Кроме того, почему вы конвертируете URL-адрес в URI и снова возвращаете URL-адрес? Почему бы просто не использовать первое значение URL?   -  person GreyBeardedGeek    schedule 22.05.2013
comment
извините, Урл и Ури были просто остатком .. теста. хорошо, если нашел этот пост... stackoverflow.com/a/8067181/1847899 и этот.. (тема: Избегание ошибок В более ранних версиях) developer.android.com/reference/java/net/HttpURLConnection. html   -  person Alexander Sidikov Pfeif    schedule 23.05.2013


Ответы (1)


хорошо, я нашел этот сообщение.

и это..

тема: Как избежать ошибок в более ранних версиях

person Alexander Sidikov Pfeif    schedule 31.07.2013