android http通信之httpclient

来源:互联网 发布:金融数据分析师工资 编辑:程序博客网 时间:2024/04/29 22:50

记录一下自己学习http编程的一些成果,如果有什么不对的地方还望指正!

HTTP协议是现在Internet上运用最广泛,也是最重要的协议,越来越多android应用程序需要直接通过HTTP来访问网络资源,因此android对于http的访问使用,是日常我们设计app中必不可少的,下面我就讲讲我对于android访问http的认识。

1.httpclient,这是apache Jakarta common下的子项目,用来提供高效的,最新的,功能丰富的支持HTTP协议的客户端编程包,并且支持HTTP协议最新版本和建议。一般情况下我们使用浏览器来访问页面以及提交一些相关的数据等,所访问的页面有的仅仅是一些普通的页面,有的需要登录,或者有的需要认证。我们使用浏览器访问时不会构成问题,然而我们想用自己的程序去访问这些页面时,很多公司的页面不可能仅仅通过一些url就能直接访问成功的,必须进过注册等才能访问相关的页面,这时候就涉及到cookie的处理问题了。所以httpclient就出现了,他就是用来专门简化HTTP客户端与服务器端的各种通信编程的。
常用基本方法如下:
Post方法:即英文字面意思,推送的意思,把服务端的数据以流的形式发送
给客户端。
Get方法:就是得到数据,客户端收到服务器端传来的数据流。

//Get方法的相关基本操作,记得用try-catch捕获异常,本人直接在博客上手打代码,就过忘记加了,请见谅Url uri=new Url("path");//取得默认实例HttpClient hc=new DefaultHttpClient();//连接到服务器HttpResponse response=hc.execute(new HttpGet(url));//获取数据内容InputStream content=response.getEntity().getContent();//记得返回的是输入流的形式,需要对其进行转换成相应的格式(string或者stringbuilder)
//Post方法基本的一些操作//取得默认实例HttpClient hc=new DefaultHttpClient();//获得httppost实例HttpPost hp=new HttpPost(uri);//添加相关数据List<NameValuePair>  nvp=new ArrayList<NameValuePair>();nvp.add(new BasicNameValuePair("id","121323"));nvp.add(new BasicNameValuePair("name","12323"));nvp.add(new BasicNameValuePair("age","121323"));//进行包装,使用utf-8对数据进行编码hp.setEntity(new UrlEncodedFormEntity(nvp,"UTF-8"));//执行post请求Httprepsonse r=ht.execute(hp);

总而言之使用httpclient有如下的步骤:
1.创建httpclient实例
2.创建某种连接方法的实例(post还是get)
3.调用实例的execute方法执行
4.读response
5.释放连接(很重要)
6.对得到的内容进行处理

0 0
原创粉丝点击