android异步http总是onFailure(状态代码=0),但DefaultHttpClient没有问题
我正在尝试使用,但总是onFailure,从日志中可以看到状态代码=0。但是,当我使用传统方式(org.apache.http.client.HttpClient)时,状态代码=200 守则: 公共类HttpTestActivity扩展了ActionBarActivity{android异步http总是onFailure(状态代码=0),但DefaultHttpClient没有问题,android,asynchronous,httprequest,androidhttpclient,Android,Asynchronous,Httprequest,Androidhttpclient,我正在尝试使用,但总是onFailure,从日志中可以看到状态代码=0。但是,当我使用传统方式(org.apache.http.client.HttpClient)时,状态代码=200 守则: 公共类HttpTestActivity扩展了ActionBarActivity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setCo
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_http_test);
testHttp();
testHttp2();
}
public void testHttp2() {
new Thread(new Runnable() {
@Override
public void run() {
HttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet("http://www.baidu.com");
try {
HttpResponse httpResponse = httpClient.execute(httpGet);
int statusCode = httpResponse.getStatusLine().getStatusCode();
Log.i("ws", "---->>22: status code: " + statusCode);
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
public void testHttp() {
Log.i("ws", "---->>testHttp");
VStarRestClient.get("http://www.baidu.com", null, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
Log.i("ws", "---->>onSuccess :" + statusCode);
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
Log.i("ws", "---->>onFailure : " + statusCode);
}
});
}
如果得到的错误为0,则检查错误字段,
它显示了确切的问题,如java.net.SocketTimeoutException等
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
Log.i("ws", "---->>onFailure : " + error);
}
});