您的位置:首页 > 移动开发 > Android开发

android使用get方式访问服务器

2014-12-10 17:11 465 查看
public class LoginHttpClientGet {

private static LoginHttpClientGet loginHttp;

public static LoginHttpClientGet getInstance() {
if (loginHttp == null) {
loginHttp = new LoginHttpClientGet();
}
return loginHttp;
}

// HttpGet方式请求
public static void requestByHttpGet(String name, String password,
Handler handler) {

/**
* @param  拼接網址
* String logenPath = path + "?" + "account=" + name + "&" + "passwd="
* http://showapi.sixin.cn/login.json?account=13838384380&passwd=123456 * 下面这种执行速度更快  效率更高
**/
String logenPath = String.format(
"http://showapi.sixin.cn/login.json?account=%s&passwd=%s",
name, password);

// 新建HttpGet对象
HttpGet httpGet = new HttpGet(logenPath);
// 获取HttpClient对象
HttpClient httpClient = new DefaultHttpClient();
// 请求超时15秒
httpClient.getParams().setParameter(
CoreConnectionPNames.CONNECTION_TIMEOUT, 15000);
// 读取超时 5秒
httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,
5000);
Message msg = handler.obtainMessage();// 异步发送消息给主线程

// 获取HttpResponse实例
HttpResponse httpResp;
String result = null;

try {

httpResp = httpClient.execute(httpGet);

// 判断是够请求成功
if (httpResp.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
msg.what = 1001;
// 获取返回的数据
result = EntityUtils.toString(httpResp.getEntity(), "UTF-8");
// Log.e("===ch", result);

} else {
msg.what = 1004;

}

msg.obj = result;

} catch (ClientProtocolException e) {
msg.what = 1002;// 网络请求超时
e.printStackTrace();
} catch (IOException e) {
msg.what = 1003;// 网络连接超时
e.printStackTrace();

} finally {
handler.sendMessage(msg);

}

}

}
其中返回状态码,是服务器给的,改成相对应的就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐