我正在开发一个应用程序,我需要在android上点击按钮来调用web服务。
HttpURLConnection httpConn = (HttpURLConnection) conn;
httpConn.setAllowUserInteraction(false);
httpConn.setInstanceFollowRedirects(true);
httpConn.setRequestMethod("GET");
httpConn.connect();
response = httpConn.getResponseCode();
我得到的pesponse代码是第一次-1,然后它给了我200个请求代码,这是好的。有什么问题(我使用的是https网址)。
答案 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);