Android 网络操作常用的两个类

企鹅博客
企鹅博客
企鹅博客
28976
文章
0
评论
2020年9月15日19:10:55 评论 5 views

Android SDK集成了Apache HttpClient模块。要注意的是,这里的Apache HttpClient模块是HttpClient 4.0(org.apache.http.*),而不是常见的 Jakarta Commons HttpClient 3.x(org.apache.commons.httpclient.*)。

HttpClient常用HttpGet和HttpPost这两个类,分别对应Get方式和Post方式。

无论是使用HttpGet,还是使用HttpPost,都必须通过如下3步来访问HTTP资源。

1.创建HttpGet或HttpPost对象,将要请求的URL通过构造方法传入HttpGet或HttpPost对象。

2.使用DefaultHttpClient类的execute方法发送HTTP GET或HTTP POST请求,并返回HttpResponse对象。

3.通过HttpResponse接口的getEntity方法返回响应信息,并进行相应的处理。

如果使用HttpPost方法提交HTTP POST请求,则需要使用HttpPost类的setEntity方法设置请求参数。参数则必须用NameValuePair[]数组存储。

下面给出一些实例:

Get方式:

// HttpGet方式请求 
public static void requestByHttpGet() throws Exception { 
    String path = "https://reg.163.com/logins.jsp?id=helloworld&pwd=android"; 
    // 新建HttpGet对象 
    HttpGet httpGet = new HttpGet(path); 
    // 获取HttpClient对象 
    HttpClient httpClient = new DefaultHttpClient(); 
    // 获取HttpResponse实例 
    HttpResponse httpResp = httpClient.execute(httpGet); 
    // 判断是够请求成功 
    if (httpResp.getStatusLine().getStatusCode() == HTTP_200) { 
        // 获取返回的数据 
        String result = EntityUtils.toString(httpResp.getEntity(), "UTF-8"); 
        Log.i(TAG_HTTPGET, "HttpGet方式请求成功,返回数据如下:"); 
        Log.i(TAG_HTTPGET, result); 
    } else { 
        Log.i(TAG_HTTPGET, "HttpGet方式请求失败"); 
    } 

继续阅读
weinxin
欢迎加入中国站长博客之家
本站的所有资源都会上传分享到博客之家,希望大家互相学习交流进步。
多线程实现文件拷贝(Linux下C++) Linux编程

多线程实现文件拷贝(Linux下C++)

我们应该都用过迅雷这种下载工具吧,迅雷下载工具中运用了多线程下载。多线程文件拷贝是实现多线程下载的基础,下面给出了多线程文件拷贝的实现代码 : //copyfile.cc    #...
Java 向上转型和向下转型 Linux编程

Java 向上转型和向下转型

Java 向上转型后不能使用子类中的新方法,对于使用被重写的方法名时还是用重写后的方法体(即子类中的方法体)。 Java 向下转型运行时会报错(注意并不是int与char之间的转换)。但是问题的关键是...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: