安卓http客户端结构:
publicfinalclassandroidhttpclientextendsobjectimplementshttpclient简介:这个类其实是谷歌美丽的爆米花httpclient包,有几个变形
而且,美丽的爆米花http客户端是java的HttpUrlConnection包,美丽的爆米花包看起来不错。
特别是其中的HttpEntity,功能强大、使用方便,能够将100m的文件上传到android智能手机的服务器上,真是太好了。
(一)安卓http客户端使用方法
1 .创建1.Androidhttp客户端
androidhttpclientc=Android http client.new instance (' '; 只能通过上述方法创建Android http客户端。 其中的参数似乎设置了代理,如果没有空就好了。
2 .在中打开cookies
Android http客户端默认关闭cookies。 打开的方法如下
androidhttpclientc=Android http client.new instance (' ';
basichttpcontextcontext=newbasichttpcontext (;
context.set attribute (client context.cookie _ store,new BasicCookieStore () );
try {
c.execute (空值,context );
}catch(ioexceptione ) {
//todo auto-generated catch块
e .打印堆栈跟踪(;
}
其中的context在客户端发送的请求时,同时发送即可。 请求方法的第一个参数很重要,在下面详细说明。
使用HttpUriRequest
1 .上面的c.execute(null,context ); 第一个参数是HttpUriRequest,用于封装请求信息。
HttpUriRequest提供了两个子类。 我想我闭着眼睛也能猜到。 是的。 http获取和HttpPost。
2.ok,首先,我们来看看HttpGet是怎么使用的。
闲话不多说,其实从这个方法的名字可以看出,get
意思是取得了,所以如果想从服务器上取得什么数据的话,多使用他吧。
HttpGet有三个构造函数:
—— HttpGet ()
33554httpget(uriuri ) )。
33554 http get (字符串uri ) )。
看上面最后两种结构方法,应该就能推测出该参数的含义。 我想要
获取文件的地址! 其实第一个没有提供地址,但是HttpGet上有
方法可以设置资源地址。 httpget.Seturi(uriuri );
看看他的具体初始化方法:
方式1 :
try { final string _ uri=' www.Baidu.com '; http get请求get=new http get (; 请求get.seturi (new uri (_ uri ); } catch (urisyntaxexceptione (/todo auto-generatedcatchblocke.print stack trace ); )方式2 :
try { final string _ uri=' www.Baidu.com '; httpgetrequestget=new http get (new uri (_ uri ); } catch (/todo auto-generatedcatchblocke.print stack trace ); (方式三) :
final String _URI='www.baidu.com '; httpgetrequestget=new http get (_ uri ); 3 .现在,创建HttpGet对象后,您可以将其放入Android http客户端中进行访问。
使用Get方式访问时,据说在后面是否可以添加用户名和密码等,但实际上无法添加
哪个都可以。 虽然在服务器端获取的方法相同,但是如果有参数的话最好还是不要
直接添加到资源地址后面吧。 因为我觉得太难看了。 看起来很不干净,哈哈。
那是有人说的,那为什么有参数的时候怎么办? 我来告诉你解决方法吧。 http开机自检登场!
4 .所谓的4.HttpPost,其实最NB的地方是他可以加入实体(Entity )发送到服务器。 这是
实体可以封装各种数据,将想要发送的数据封装到实体中,然后调用HttpPost的setEntity方法
加入实体,发送请求就可以了。 因此,我将说明可以封装实体的什么类型的数据。
(三) HttpEntity讲义(本博文要点) ) ) ) ) ) ) )。
有些同学可能觉得博文文字看得太多太无聊了,拍张照吧。 既然大家都有要求,我就满足你。