Apache提供HttpClient,它对java.net中的类做了封装和抽象,更适合在Android上开发应用。

HttpClient应用开发几个类:

1. ClientConnectionManager是客户端连接管理器的接口,

提供以下几个抽象方法:

closeIdleConnections, 关闭空闲的连接

releaseConnection, 释放一个连接

requestConnection, 请求一个新的连接

shutdown 关闭ClientConnectionManager并释放资源

2. DefaultHttpClient是一个默认的Http客户端,可以用来创建一个http连接。

HttpClient httpClient = new DefaultHttpClient();

3. HttpResponse是一个http连接响应

HttpResponse response = httpClient.execute(httpRequest);

if(response.getStatusLine().getStatusCode() == HttpStatus.SC_OK)

 

//  示例代码:HttpGet –> HttpClient –> HttpResponse

String url = “http://www.txrj.com/reg.jsp?name=jake”;

HttpGet request = new HttpGet(url);

HttpClient client = new DefaultHttpClient();

HttpResponse response = client.execute(request);

if(response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {

  String data = EntityUtils.toString(response.getEntity());

}

 

// 示例代码:HttpPost –> HttpClient –> HttpResponse

Post方式情况下,需要使用NameValuePair来保存要传递的参数,具体可以使用BasicNameValuePair,然后通过add方法添加到NameValuePair中。

String url = “http://www.txrj.com/reg.jsp”;

HttpPost request = new HttpPost(url);

// 添加参数

List<NameValuePair> params = new ArrayList<NameValuePair>();

params.add(new BasicNameValuePair(“name”,"jake”));

// 设置字符集

HttpEntity entity = new UrlEncodedFormEntity(params, “gb2312”);

request.setEntity(entity);

HttpClient client = new DefaultHttpClient();

HttpResponse response = client.execute(request);

if(response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {

  String data = EntityUtils.toString(response.getEntity());

}

Android网络开发之HttpClient的更多相关文章

  1. Android网络开发之HttpURLConnection

    http是一个可靠的传输,建立在TCP/IP连接之上,缺省端口是80,其他端口号也可以用.Android可以用HttpURLConnection或HttpClient接口来开发http程序. http ...

  2. Android 网络开发之WIFI

    WIFI就是一种无线联网技术,常见的是使用无线路由器.那么在这个无线路由器的信号覆盖的范围内都可以采用WIFI连接的方式进行联网.如果无线路由器连接了一个ADSL线路或其他的联网线路,则又被称为&qu ...

  3. Android网络开发之用tcpdump抓包

    Android开发过程中,当涉及到网络通信的时候,有一些字段须要抓包获取.我之前由于SSDP设备发现的包头格式没有写对,经过抓包分析和标准包头对照发现了这个困扰我非常久的问题.总之,掌握在Androi ...

  4. Android网络开发之OkHttp--基本用法POST

    1.OkHttp框架使用了OkIo框架,不要忘记下OkIo.jar 2.通过POST访问网络,和通过GET访问网络基本相同,多了设置请求参数的过程.主要分为五步: (1).声明并实例化一个OkHttp ...

  5. Android网络开发之OkHttp--基本用法GET

    1.OkHttp框架使用了OkIo.jar包,不要忘记添加. 2.对于Request对象是如何实例化的,大家可以参考--java builder设计模式 http://www.cnblogs.com/ ...

  6. Android网络开发之Volley--Volley自定义Request

    1.自定义一个解析Json的Request,这里使用JackSon框架来解析Json.你也可以自定义一个解析XML的Request,或者使用FastSon来解析Json. 2.我们首先来看一下Stri ...

  7. Android网络开发之Volley--Volley基本用法ImageRequest(三)

    1.ImageRequest用法和StringRequest一样,主要分为3步: (1).实例化一个RequestQueue对象 (2).设置ImageRequest对象参数,并将ImageReque ...

  8. Android网络开发之Volley--Volley基本用法JsonObjectReques(二)

    1.JsonObjectRequest用法 用法和StringRequest基本相同,主要分为3步: (1).实例化一个RequestQueue对象 (2).设置JsonObjectRequest对象 ...

  9. Android网络开发之Volley--Volley基本用法StringRequest(一)

    1.StringRequest用法 主要分为3步: (1).实例化一个RequestQueue对象 (2).设置StringRequest对象参数,并将StringRequest对象加入Request ...

随机推荐

  1. 解决“listView点击一个Item,另外几个Item也跟着改变”的问题

    如图所看到的: 我点击Item,右边的checkBox就会对应的变化.可是当我第一次做的时候.点击第一个Item,右边的checkBox变为绿色,可是当我listView往下拉的时候,发现以下也有是绿 ...

  2. Linux 防火墙 iptables基本操作

    1:临时性关闭开启防火墙,重启后失效开启service iptables start关闭service iptables stop/etc/rc.d/init.d/iptables stop 2:永久 ...

  3. 如何设置eclipse不同的workspace共享配置

    在很多的项目中,每个项目使用一个workspace,结果每新建一个workspace重新配置一下,但是配置的东西都是一样的,烦死了,有什么好办法可以共享一下配置呢? 总结一下,复制工作空间配置步骤如下 ...

  4. UnityEditor研究学习之自定义Editor

    UnityEditor研究学习之自定义Editor 今天我们来研究下Unity3d中自定义Editor,这个会让物体的脚本在Inspector视窗中,产生不同的视觉效果. 什么意思,举个例子,比如游戏 ...

  5. Objective-C:继承、分类(Category、extension)、协议(protocol),个人理解,仅供参考

    总结:继承.分类(Category.extension).协议(protocol)   一.继承: (1)特点: 继承多用于一般父类中的方法功能比较齐全,子类从父类继承过来使用,可以省略很多重复的代码 ...

  6. 第十七章 springboot + devtools(热部署)

    技术介绍 devtools:是boot的一个热部署工具,当我们修改了classpath下的文件(包括类文件.属性文件.页面等)时,会重新启动应用(由于其采用的双类加载器机制,这个启动会非常快,如果发现 ...

  7. Git 忽略规则 .gitignore文件 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  8. Android实现仿qq侧边栏效果

    最近从github上看到一个关于侧边栏的项目,模仿的是qq侧边栏. Github地址是https://github.com/SpecialCyCi/AndroidResideMenu ,这个项目是一个 ...

  9. 给 TextBlock 加 ToolTip

    <TextBlock ToolTip="{Binding RelativeSource={RelativeSource Self},Path=Text}" Text=&quo ...

  10. 解决PHP在Windows IIS 上传的图片无法访问的问题

    最近在做一个网站项目遇到了一个很奇怪的问题,现记录下来希望可以帮助到其他的朋友   问题描述: 最近公司刚刚在香港购买了一个Windows Server 2008 服务器用于将一个客户的N个php网站 ...