Android 开发学习记录(2)---- httpclient使用(一)
来源:互联网 发布:cs 1.6 for mac 10.13 编辑:程序博客网 时间:2024/06/05 20:45
在制作 android 软件时,因为要设计抓取网页信息,所以用到了可以现成使用的 httpclient 库类。使用 httpclient 来模拟浏览网页的动作。
httpclient 主要模拟HTTP的 get 请求和 post 请求。首先要了解HTTP中的get与post:
1、根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。Get是向服务器发索取数据的一种请求
2、根据HTTP规范,POST表示可能修改变服务器上的资源的请求。Post是向服务器提交数据的一种请求
按我浅显的理解,get 一般是在直接访问获取网页信息;而 post 则可以通过填写表单信息后再访问某些网页信息。
在我的 android 软件开发过程中,get 主要用于获取要访问的网址信息,而当某些网址需要进行账号登陆时,则用 post 完成登陆账号填写密码等任务。
这里有篇博文对HTTP中的get 与post 进行了详细介绍,我就当个宣传员,把他博客地址贴上好了http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html
既然对get 与 post 有所了解了,接下来就可以研究使用httpclient 了,下面主要介绍一下httpclient一些最基本的操作,最近真的比较忙,抽空会在以后的博文中慢慢写详细些。
一、httpclient 之 get
HttpClient client = new DefaultHttpClient();//新建一个HttpClient对象HttpGet request = new HttpGet("http://blog.csdn.net/oohaha_123");//新建一个HttpGet请求HttpResponse response = client.execute(request);//client执行访问网址的操作,返回信息以HttpResponse格式存放在response中上面3行代码已经完成了访问网址的功能了(好简单有木有!)
既然已经获得网页信息了,但又该如何显示出来呢?下面这个自定义的函数就是将得到的 response 转为 string 形式,将网页源码以字符串的形式展现出来:
public String readWeb(HttpResponse response)throws ClientProtocolException, IOException{BufferedReader in = null;in = new BufferedReader(new InputStreamReader(response.getEntity().getContent(),"utf-8")); //要根据访问网址的编码更改对应的解码方式,这里我用的是UTF-8。StringBuffer string = new StringBuffer("");String lineStr = "";while( (lineStr = in.readLine()) != null){string.append(lineStr + "\n");}in.close(); String web = string.toString();return web;}现在我就得到我想要获取的网页的全部源码信息了。
二、httpclient 之 post
这里我先不介绍用 post 完成表单填写等功能。等以后配合具体例子再一起说明,下面就简单贴出来用 httpclient 中post 完成上面get 相同功能的源码,其实几乎完全一样,只是将HttpGet 改为 HttpPost 罢了。
HttpClient client = new DefaultHttpClient(); HttpPost request = new HttpPost("http://blog.csdn.net/oohaha_123");HttpResponse response = client.execute(request);读取网页信息的代码一模一样,就不在这里重复了。
上面只是介绍了httpclient 最基本的操作,其实httpclient还能做很多事情,我也只接触到皮毛而已。以后有时间会配合实例写写它的使用方法,抱怨一下:毕设盲审伤不起。。。
- Android 开发学习记录(2)---- httpclient使用(一)
- Android 开发学习记录(3)---- httpclient使用(二)
- Android 开发学习记录(4)---- httpclient使用(三)
- 使用Kotlin开发android学习记录(一)
- HttpClient学习(一)
- HttpClient学习(一)
- Android学习记录(一)
- Android学习记录(一)
- android学习记录(一)
- httpclient简单学习(一)
- HttpClient 4.3 开发学习(2)
- Android--Apache HttpClient(一)
- httpClient的使用(一)
- Android HTTP网络通信(一):使用HttpURLConnection、HttpClient
- Android 闹钟 开发过程记录(一)
- Android学习(51) -- 使用HttpClient框架做GET提交
- Android学习(52) -- 使用HttpClient框架做POST提交
- android 学习随笔十二(网络:使用异步HttpClient框架)
- 机房收费系统——详细设计说明书
- 今天他今天官方价格将哥几个今天饭店几天假个房间公积金
- Press<F1>...<F12>missing operating system的解决办法
- 【Win32 API】在系统托盘显示图标和弹出气泡
- Mac如何修改开机密码
- Android 开发学习记录(2)---- httpclient使用(一)
- 两个比较实用简洁的StringToDate和DateToString方法函数。
- Polya定理,Burnside引理
- Fedora启用SSH
- 关于iOS和OS X废弃的API
- acdreamoj 1106 游泳水平有限的瑶瑶
- 对于div背景颜色的透明
- javascript的!!两个感叹号的作用
- SlidingMenu LeftAndRightActivity使用说明