现在的位置: 首页 > 综合 > 正文

Android联网使用HttpClient 和HttpResponse 小结

2014年08月03日 ⁄ 综合 ⁄ 共 2698字 ⁄ 字号 评论关闭

三步曲:
1.创建HttpGet或者HttpPost对象,将要请求的URL对象构造方法传入HttpGet、HttpPost对象
2.通过HttpClent接口的实现类DefaultClent.的excute(HttpUriRequest request)而我们已经知道HttpGet和HttpPost类都实现了            HttpUriRequest接口,所以这里面,我们可以将第1步创建好的HttpGet或者HttpPost对象传入进来。来得到HttpResponse对象

3.通过HttpResponse取到返回的一些信息,再做提取

知识点:

1. HttpParams : 保存Http请求设定的参数对象

2. HttpConnectionParams :提供对Http连接参数进行设定的方法,比如 连接超时时间 等。

3.HttpClient :发起Http连接请求的对象,

4.HttpResponse :Http 请求返回的响应

HttpClient接口
实现类:DefaultHttpClient这也是常用的一个用于实现HttpClient接口的子类, HttpClietnt中定义的常用抽象方法
1.public abstract HttpResponse execute (HttpUriRequest request) :

                                  通过HttpUriRequest对象执行返回一个HttpResponse对象

2.public abstract HttpResponse execute (HttpUriRequest request, HttpContext context) :

                                  通过HttpUriRequest对象和HttpContext对   象执行返回一个HttpResponse对象


HttpResponse接口

HttpResponse接口里定义了一系列的set、get方法

1.public abstract HttpEntity getEntity () :

             得到一个HttpEntity对象

 2.public abstract StatusLine getStatusLine () :

               得到一个StatusLine(也就是HTTP协议中的状态行我们知道HTPP状态行由三部分组成:HTTP协议版本,服务器发回的响 应状态代码,状态码的文本描述)接口的实例对象

3. public abstract Locale getLocale () :

              得到Locale对象….相应的set方法
 
StatusLine接口
StatusLine接口的常用方法。也可以通过其实现的子类BasicStatusLine类里查看

1.public abstract ProtocolVersion getProtocolVersion () :

             得到一个ProtolVersion对象它是一个HTTP版本的封装类,在这个类里定义了一系列的方法我们可以通过它的getProtocol方法取得协议名称,getMinor得到HTPP协议的版本

2.public abstract String getReasonPhrase () :

            状态码的文本描述
3.public abstract int getStatusCode () :

            得到响应状态码 

HttpEntity是一个接口

1.public abstract InputStream getContent () :

             得到一个输入流对象,我们可以用这个流来操作文件(例如保存文件到SD卡)

2.public abstract Header getContentType () :

              得到Content-Type信息头 

3.public abstract Header getContentEncoding () : 

                 得到Content-Encoding信息头 


我们可以通过EntityUtils类,它是一个final类,一个专门针对于处理HttpEntity的帮助类
常用方法 

EntityUtils类
EntityUtils类的常用方法

1.public static String getContentCharSet (HttpEntity entity) :

                设置HttpEntity对象的ContentCharset

2.public static byte[] toByteArray (HttpEntity entity) :

              将HttpClient转换成一个字节数组

3.public static String toString (HttpEntity entity, String defaultCharset) :

             通过指定的编码方式取得HttpEntity里字符串内容 

4.public static String toString (HttpEntity entity) :

            取得HttpEntity里字符串内容 

NameValuePair
NameValuePair接口是一个简单的封闭的键值对,只提供了一个getName()和一个getValue方法。主要用到的实现类BasicNameVaulePair HttpGet类

HttpGet它实现了HttpRequest、HttpUriRequest接口 构造方法

1.public HttpGet () : 无参数构造方法用以实例化对象

2.public HttpGet (URI uri) :通过URI对象构造HttpGet对象
3.public HttpGet (String uri) :通过指定的uri字符串地址构造实例化HttpGet对象


HttpPost类
同样它也实现了HttpRequest、HttpUriRequest接口等一系列接口 构造方法
1.public HttpPost ()  :无参数构造方法用以实例化对象

2.public HttpPost (URI uri) :通过URI对象构造HttpPost对象

3.public HttpPost (String uri)  :通过指定的uri字符串地址构造实例化HttpPost对象

抱歉!评论已关闭.