介绍:Android开发中四种常用网络请求方式

时间:2013-04-19 10:47来源:网络资源 作者:larran 点击:
     Android应用经常会和服务器端交互,这就需要手机客户端发送网络请求,下面介绍Android开发中四种常用网络请求方式,本文主要是通过Android单元测试来完成这四种方法的,如果你还不清楚Android的单元测试的同学们请赶紧来学习一下吧。

    java.net包中的HttpURLConnection类
    Get方式:
    01// Get方式请求
    02public static void requestByGet() throws Exception {
    03    String path = "https://reg.163.com/logins.jsp?id=helloworld&pwd=android";
    04    // 新建一个URL对象
    05    URL url = new URL(path);
    06    // 打开一个HttpURLConnection连接
    07    HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
    08    // 设置连接超时时间
    09    urlConn.setConnectTimeout(5 * 1000);
    10    // 开始连接
    11    urlConn.connect();
    12    // 判断请求是否成功
    13    if (urlConn.getResponseCode() == HTTP_200) {
    14        // 获取返回的数据
    15        byte[] data = readStream(urlConn.getInputStream());
    16        Log.i(TAG_GET, "Get方式请求成功,返回数据如下:");
    17        Log.i(TAG_GET, new String(data, "UTF-8"));
    18    } else {
    19        Log.i(TAG_GET, "Get方式请求失败");
    20    }
    21    // 关闭连接
    22    urlConn.disconnect();
    23}
    Post方式:
    01// Post方式请求
    02public static void requestByPost() throws Throwable {
    03    String path = "https://reg.163.com/logins.jsp";
    04    // 请求的参数转换为byte数组
    05    String params = "id=" + URLEncoder.encode("helloworld", "UTF-8")
    06            + "&pwd=" + URLEncoder.encode("android", "UTF-8");
    07    byte[] postData = params.getBytes();
    08    // 新建一个URL对象
    09    URL url = new URL(path);
    10    // 打开一个HttpURLConnection连接
    11    HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
    12    // 设置连接超时时间
    13    urlConn.setConnectTimeout(5 * 1000);
    14    // Post请求必须设置允许输出
    15    urlConn.setDoOutput(true);
    16    // Post请求不能使用缓存
    17    urlConn.setUseCaches(false);
    18    // 设置为Post请求
    19    urlConn.setRequestMethod("POST");
    20    urlConn.setInstanceFollowRedirects(true);
    21    // 配置请求Content-Type
    22    urlConn.setRequestProperty("Content-Type",
    23            "application/x-www-form-urlencode");
    24    // 开始连接
    25    urlConn.connect();
    26    // 发送请求参数
    27    DataOutputStream dos = new DataOutputStream(urlConn.getOutputStream());
    28    dos.write(postData);
    29    dos.flush();
    30    dos.close();
    31    // 判断请求是否成功
    32    if (urlConn.getResponseCode() == HTTP_200) {
    33        // 获取返回的数据
    34        byte[] data = readStream(urlConn.getInputStream());
    35        Log.i(TAG_POST, "Post请求方式成功,返回数据如下:");
    36        Log.i(TAG_POST, new String(data, "UTF-8"));
    37    } else {
    38        Log.i(TAG_POST, "Post方式请求失败");
    39    }
    40}
    org.apache.http包中的HttpGet和HttpPost类
   
  
分享到:

凌阳教育培训【凌阳科技旗下教育品牌】——专业的培训机构,全国唯一“按班公布学员就业去向”的诚信机构

关注我们:

全国免费咨询电话:156-0117-5697或010-62981113(转2866) 服务监督电话:010-62981113-2800

京ICP备09010168号  京公网安备11010802010586号

北京培训中心:海淀区上地信息产业基地中黎科技园1号楼3层A段

Copyright © 2017 SunplusEdu Inc. All Rights Reserved