1

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

 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(); 

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

+0

Я не совсем уверен, что ваш вопрос, но 2.x имел другую реализацию HttpURLConnection чем 4.x делает. В 2.x рекомендуется использовать HttpClient, а на 4.x рекомендуется HttpUrlConnection. Кроме того, почему вы конвертируете из URL-адреса в URI и снова возвращаетесь к URL-адресу? Почему бы просто не использовать первое значение URL-адреса? – GreyBeardedGeek

+0

Извините, Url и uri были просто оставшимися испытаниями. хорошо, если нашел этот пост ... http://stackoverflow.com/a/8067181/1847899 и это .. (тема: Как избежать ошибок в более ранних версиях) http://developer.android.com/ ссылка/Java/сеть/HttpURLConnection.html –

ответ

0

ok я нашел это post.

и this ..

тема: Как избежать ошибок в предыдущих версиях