[android,8]8.使用httpclient连接服务端
HttpClient简介:
httpclient 是apache 上的开源项目,是对浏览器的简单包装。
一、通过HttpClient发送get请求:
public static StringsendDataByHttpClientGet(String path, String username,String password) throwsException {
// 1.创建一个浏览器 的HttpClient 对象
HttpClient client = newDefaultHttpClient();
// 2.输入一个url ,创建一个url
String urlstr = path +"?name=" + URLEncoder.encode(username)
+"&password=" + URLEncoder.encode(password);
//httpGet对象 表示向指定的url发送get请求
HttpGet httpGet = newHttpGet(urlstr);
// 3.敲一下回车 ;执行get请求,并返回响应的数据
HttpResponse response =client.execute(httpGet);
//response.getStatusLine()方法是:获取相应的状态行,
//获取状态行中的状态码。
if(response.getStatusLine().getStatusCode() == 200) {
//response.getEntity()方法获取响应数据的实体。
//获取响应数据的内容
InputStream is = response.getEntity().getContent();
//将流转成文本
byte[] result = StreamTools.getBytes(is);
return new String(result);
}
return null;
}
二、通过HttpClient发送post请求:
public static StringsendDataByHttpClientPost(String path, String username,
String password) throws Exception {
// 1.创建一个浏览器
HttpClient client = newDefaultHttpClient();
// 2.构建一个post的请求
HttpPost post = newHttpPost(path);
//创建请求实体对象中的参数.就是键值对的集合
List
new ArrayList
parameters.add(newBasicNameValuePair("name", username));
parameters.add(newBasicNameValuePair("password", password));
//创建请求实体对象,并指定字符编码形式。
UrlEncodedFormEntityentity = new UrlEncodedFormEntity(parameters,
"utf-8");
//设置post请求的实体方法
post.setEntity(entity);
// 3.敲回车 执行post请求
HttpResponse response =client.execute(post);
//判断响应码
if(response.getStatusLine().getStatusCode() == 200) {
//
InputStream is = response.getEntity().getContent();
byte[] result = StreamTools.getBytes(is);
return new String(result);
}
return null;
}
- 01-11全球最受赞誉公司揭晓:苹果连续九年第一
- 12-09罗伯特·莫里斯:让黑客真正变黑
- 12-09谁闯入了中国网络?揭秘美国绝密黑客小组TA
- 12-09警示:iOS6 惊现“闪退”BUG
- 04-01“AI复活”生意的启示与挑战
- 04-01超200万人涌入直播间看卖“云” 上千家企业
- 04-01从虚拟到共生:数字人“花样百出”
- 03-29小米汽车“走进”京东,双方或将深化合作
- 03-29迎广交会,广州白云国际机场优化支付服务示