在Android中的Http响应

时间:2013-12-12 09:36:30

标签: android http https

我正在开发一个应用程序,我需要在android上点击按钮来调用web服务。

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

我得到的pesponse代码是第一次-1,然后它给了我200个请求代码,这是好的。有什么问题(我使用的是https网址)。

3 个答案:

答案 0 :(得分:0)

您必须实现SocketFactory,LayeredSocketFactory类并管理套接字并实现X509TrustManager。

检查此链接 http://www.java2s.com/Code/Android/Network/FakeSocketFactory.htm

答案 1 :(得分: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);
                }
            });

只需在项目中包含jar文件即可使用。

答案 2 :(得分:0)

也许您需要等待更多连接才能建立,因此请为连接设置超时:

httpConn.setConnectTimeout(10000);
httpConn.setReadTimeout(10000);