HttpClient
来源:互联网 发布:合肥市行知学校校长 编辑:程序博客网 时间:2024/06/06 04:19
首先要重新启用HttpClient的话先在build.gradle里面设置
android{
useLibrary 'org.apache.http.legacy'//设置HttpClient重新启用
}
post请求方式
private void postNews(String type, String key) { String result = null; HttpClient client = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(POSTURL); try { //封装传递参数的集合 List<NameValuePair> parameters = new ArrayList<NameValuePair>(); //往这个集合中添加你要传递的参数 parameters.add(new BasicNameValuePair("type", type)); parameters.add(new BasicNameValuePair("key", key)); //创建传递参数封装 实体对象 UrlEncodedFormEntity encodeEntity = new UrlEncodedFormEntity(parameters, "UTF-8");//设置传递参数的编码 //把实体对象存入到httpPost对象中 httpPost.setEntity(encodeEntity); //3. 调用第一步中创建好的实例的 execute 方法来执行第二步中创建好的 method 实例 HttpResponse response = client.execute(httpPost); //HttpUriRequest的后代对象 //在浏览器中敲一下回车 //根据响应行,拿到响应吗 int responseCode = response.getStatusLine().getStatusCode(); response_msg = response.getStatusLine().getReasonPhrase(); //4. 读 response if (200 == responseCode) {//如果响应码是200,则请求成功,否则失败 //得到返回的实体对象 HttpEntity entity = response.getEntity(); InputStream in = entity.getContent(); ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); int length = 0; byte[] buffer = new byte[1024]; while ((length = in.read(buffer)) != -1) { byteOut.write(buffer, 0, length); } result = byteOut.toString("utf-8"); Message msg = new Message(); msg.what = SUCCESS; msg.obj = result; mHttpClientHandler.sendMessage(msg); } else {//请求失败,处理请求失败逻辑 Message msg = new Message(); msg.what = FAIL; mHttpClientHandler.sendMessage(msg); } } catch (Exception e) { e.printStackTrace(); } }
GET请求方式
private void getNews() { StringBuffer result = new StringBuffer(); //创建HttpClient对象,打开一个浏览器 HttpClient httpClient = new DefaultHttpClient(); //创建HttpGet对象,get请求的对象,传入url HttpGet httpGet = new HttpGet(GETURL); try { //发起请求,拿到HttpResponse对象,这个对象是服务器返回的数据对象 HttpResponse httpResponse = httpClient.execute(httpGet); //根据响应行,拿到响应吗 int responseCode = httpResponse.getStatusLine().getStatusCode(); response_msg = httpResponse.getStatusLine().getReasonPhrase(); if (200 == responseCode) {//如果响应码是200,则请求成功,否则失败 //得到返回的实体对象 HttpEntity entity = httpResponse.getEntity(); InputStream in = entity.getContent(); BufferedReader reader = new BufferedReader(new InputStreamReader(in)); String line = null; while ((line = reader.readLine()) != null) { result.append(line); } Message msg = new Message(); msg.what = SUCCESS; msg.obj = result.toString(); mHttpClientHandler.sendMessage(msg); } else {//请求失败,处理请求失败逻辑 Message msg = new Message(); msg.what = FAIL; mHttpClientHandler.sendMessage(msg); } } catch (IOException e) { e.printStackTrace(); } finally { httpClient.getConnectionManager().shutdown(); } }
阅读全文
0 0
- HttpClient
- HttpClient
- httpClient
- HttpClient
- HttpClient
- HttpClient
- HttpClient
- HttpClient
- HttpClient
- HttpClient
- HttpClient
- httpclient
- httpclient
- HttpClient
- HttpClient
- httpclient
- httpclient
- HttpClient
- hdu 4155 The Game of 31
- event.srcElement
- <虹膜识别>1.opencv3同心圆的提取
- hdu3709 Balanced Number(数位DP)
- Jmeter with Badboy
- HttpClient
- MySQLdb ImportError: libmysqlclient.so.18
- SSM框架CSS加载不出来
- 如何安装Nexus Repository Manager OSS 3.x
- linux
- 三种ANR
- UVALive
- XListView的多布局和解析
- 商城库存