[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
- 03-08消息称微软开发内部AI推理模型,或将成为Op
- 03-08美国法院驳回马斯克请求,未阻止OpenAI转型
- 03-08饿了么成立即时配送算法专家委员会 持续全局
- 03-08长安汽车:预计今年底长安飞行汽车将完成试
- 03-08谷歌推出虚拟试穿、AR美妆新功能