2013-12-12 5 views
0

Я разрабатываю приложение, где мне нужно позвонить в веб-сервис при нажатии кнопки в android.Ответ Http в android

HttpURLConnection httpConn = (HttpURLConnection) conn; 
httpConn.setAllowUserInteraction(false); 
httpConn.setInstanceFollowRedirects(true); 
httpConn.setRequestMethod("GET"); 
httpConn.connect(); 
response = httpConn.getResponseCode(); 

pesponse код, который я получаю -1 первый раз, а затем он дает мне 200 requestcode, который в порядке. В чем проблема (я использую https urls).

ответ

0

Вам необходимо реализовать класс SocketFactory, LayeredSocketFactory и управлять сокетом, а также реализовать X509TrustManager.

Проверьте эту ссылку http://www.java2s.com/Code/Android/Network/FakeSocketFactory.htm.

+0

что? Что это за сумасшествие. Он просто хочет сделать запрос GET ради бога ... –

+0

его получение ответа иногда .. idont думаю, мне нужно то, что @Bhargav Panchal упомянул ... – karan421

0

У меня есть предложение Попытаться использовать AsyncHttpclient для получения ответов от сервера, не нуждающихся в этих длинных кодах.

http://loopj.com/android-async-http/

AsyncHttpClient asyncHttpClient=new AsyncHttpClient(); 

      asyncHttpClient.get("http://10.0.2.2/fanaticmobile/log_in.php", new AsyncHttpResponseHandler(){ 
       @Override 
       public void onFailure(Throwable arg0, String arg1) { 
        // TODO Auto-generated method stub 
        super.onFailure(arg0, arg1); 
       } 
       @Override 
       public void onSuccess(String arg0) { 
        // TODO Auto-generated method stub 
        super.onSuccess(arg0); 
       } 
      }); 

Просто включите файл банку в проекте он будет прост в использовании.

0

Возможно, вам нужно больше ждать для подключения к утвердиться, поэтому установить тайм-аут для соединения:

httpConn.setConnectTimeout(10000); 
httpConn.setReadTimeout(10000); 
Смежные вопросы