HttpURLConnection是java.net.*包提供的类,但java JDK 库本身功能还不够丰富和灵活;
Apache HttpClient是一个开源项目,功能更加完善,弥补了java.net.*灵活性不足的缺点。
使用HttpClient接口要加入httpclient-4.3.1.jar相关的jar包
private void getHttpClientConnection(String url){final String getUrl = url;new Thread(new Runnable() {//新建一个子线程        String getUrl2 = getUrl;@Overridepublic void run() {            HttpClient hc = new DefaultHttpClient();//1.创建一个HttpClient,(DefaultHttpClient表示默认属性)            HttpGet hg = new HttpGet(getUrl2);//2.HttpGet实例,通过GET方法            InputStream in = null;            StringBuffer sb = null;try{                HttpResponse hr = hc.execute(hg);//3.HttpResponse Http响应,HttpClient执行HttpGet方法//连接成功if ((hr.getStatusLine().getStatusCode()) == 200){//4.得到响应码,如果==200,连接成功                    in = hr.getEntity().getContent();//5.获取返回的数据 InPutStream流获取响应得到的内容                    BufferedReader br = new BufferedReader(new InputStreamReader(in));//BufferedReader读取数据流char[] buf = new char[1024];int longth = 0;                    sb = new StringBuffer();while((longth = br.read(buf)) != -1){//读取BufferedReader,放入StringBuffer                        sb.append(buf,0,longth);                    }

                }            }catch(IOException e){                e.printStackTrace();            }finally{if (in != null){try {                        in.close();                    } catch (IOException e) {                        e.printStackTrace();                    }                }            }

            Message message = new Message();//新建Message            message.what = CHANGE_TEXT;            message.obj = sb.toString();//Message.obj得到StringBuffer的内容handler.sendMessage(message);//sendMessage

        }    }).start();}
-----------------------------------------
类中建一个Handler接收message
private static final int CHANGE_TEXT = 1;

private Handler handler = new Handler(){@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);if (msg.what == CHANGE_TEXT){textView.setText(msg.obj.toString());        }    }};

转载于:https://www.cnblogs.com/aisi-liu/p/5112928.html

Http通信(HttpClient)相关推荐

  1. 重新想象 Windows 8 Store Apps (61) - 通信: http, oauth

    重新想象 Windows 8 Store Apps (61) - 通信: http, oauth 原文:重新想象 Windows 8 Store Apps (61) - 通信: http, oauth ...

  2. Android 应用层知识纲要

    Java基础 * 面向对象 * Java集合框架 * 异常处理 * Java反射, Spring框架,通过反射实现 * 泛型, 静态变成语言 * 文件操作 Android基础 * Activity * ...

  3. Android中使用HttpClient实现HTTP通信效果

    HTTP通信,这一案例在操作的时候遇到N多种种问题,是前面看过几个实例里面最麻烦的一个,因为没有系统的接触过JAVA,所以出了很多错误,也无从下手解决,这里经过对错误的检索实现了HTTP通信,以做记录 ...

  4. android系统提供了url通信,Android两种HTTP通信,HttpURLConnection和HttpClient

    Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient,几乎在任何项目的代码中我们都能看到这两个类的身影,使用率非常高. 不过HttpURL ...

  5. HttpClient实现客户端与服务器的通信

    本篇主要讲解了利用HttpClient实现 windows主机与linux服务器的通信与传递数据 HttpClient代码,服务器端配置 系统和安装软件 1)ubuntu 14.04 64位系统 2) ...

  6. ESP32-C3利用AsyncWebServer和HTTPClient实现双机通信

    因为刚好做作业需要用到双机通信,顺便学习一下,我在网上找了很多方法,试过用蓝牙通信,但是只能实现发送字符串(个人能力只能到这步,等后面有时间再深入研究蓝牙通信)最后实现方式是 AsyncWebServ ...

  7. android:HTTP通信 .

    HTTP:  超文本传送协议(hypertext transport protocol),用于传送WWW方式的数据.属于应用层的面向对象的协议.HTTP采用了请求/响应模型.客户端向服务器发送的请求包 ...

  8. Android中的HTTP通信

    自己整理,整理得不好,不喜勿喷! HTTP通信 HttpURLConnection接口 HTTP超文本传输协议,用于传送WWW方式的数据.HTTP协议采用了请求/响应模式. Android提供了HTT ...

  9. 再见,HttpClient!再见,Okhttp!

    点击关注公众号,Java干货及时送达 作者:元人部落 来源:www.cnblogs.com/bryan31/p/13359376.html 1.背景 因为业务关系,要和许多不同第三方公司进行对接.这些 ...

最新文章

  1. Android App的启动过程
  2. Python Numba实现GPU加速
  3. 【upc 9523】Shopping II
  4. linux mysql软件_「Linux」 - 常用软件安装-MySql
  5. Oracle备份还原
  6. Linux卸载系统中自带java、jdk等
  7. 如何在Linux中使用netstat命令
  8. 2014 Super Training #2 F The Bridges of Kolsberg --DP
  9. Linux.ProxyM僵尸网络再次发起疯狂攻击,感染过万台设备
  10. 双机热备、双机互备与 双机双工的区别
  11. Atitit mybatis 翻页解决法 目录 1.1. 翻页模式还有js翻页前端翻页更加简单 1 1.2. 逻辑分页使用类RowBounds vs 物理分页 offset模式 1 1.3.
  12. 源码-PL/SQL从入门到精通-第二章-PL/SQL基本概念-Part 2
  13. Xiaojie雷达之路---雷达原理(二刷)匹配滤波器
  14. opencv最小外接矩形
  15. SPEA多目标优化算法--测试case发电机发电量分配[转]
  16. 计算机无法打印 重启又好了,打印机显示通讯错误,不能打印,但电脑重启后又好了!这是为什么?...
  17. 开机广告页面2017流行样式 dialogTheme的popuwindow版本
  18. docker 创建 Carte 服务
  19. 中国能源建设合并葛洲坝又有最新进展,葛洲坝即将终止上市
  20. java 科学计数法转换为普通数字_如何将计算器上的科学记数法转换为普通记数法?...

热门文章

  1. AcWing 884. 高斯消元解异或线性方程组
  2. Android调用系统相册、拍照以及裁剪最简单的实现(兼容7.0)
  3. Mysql自定义Sequence-实现序列自增功能
  4. iText 中写Word RTF 文档 中文字体设置
  5. 如何批量修改AD用户的Email属性
  6. JAVA中的编码分析
  7. 递归大总结之台阶问题
  8. 用windbg分析minidump
  9. jsp操作mysql
  10. Spine 游戏开发的 2D