RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:24小时服务
你可能遇到了下面的问题
关闭右侧工具栏
大唐教程:HttpUtilAndroid网络连接封装工具类

该工具实现了发送get和post请求,请求的结果以String字符串的形式返回,比较适合接收服务器端发送过来的JSON字符串数据

get方法适合从服务器端获取数据

post方法适合发送数据到服务器端

 

使用的时候直接调用get或post方法就好

get方法传递一个url请求

post方法传递一个url请求和要发送到服务器端的数据params

 

接收数据后返回的是一个String字符串

 

HttpUtil.Java

 

[java] view plain copy
 
 print?
  1. public class HttpUtil{  
  2.     /** 
  3.      * POST方法提交HTTP请求,返回请求的结果 
  4.      *  
  5.      * @param url 
  6.      * @param params 
  7.      * @return 请求结果 
  8.      * @throws IOException 
  9.      */  
  10.     public static String sendPost(String url, String params) throws IOException {  
  11.         StringBuffer result = new StringBuffer();  
  12.   
  13.         // 创建URL对象  
  14.         URL _url = new URL(url);  
  15.         // 创建HTTP连接  
  16.         /** 
  17.          * 使用.openConnection()方法实例化一个URLConnection对象 
  18.          * */  
  19.         HttpURLConnection conn = (HttpURLConnection) _url.openConnection();  
  20.           
  21.         // 以下设置网络连接的相关参数  
  22.         /* 使用POST方法进行请求传递时,必须定义setDoInput和setDoOutput方法 */  
  23.         // 设置输入可用  
  24.         conn.setDoInput(true);  
  25.         // 设置输出可用  
  26.         conn.setDoOutput(true);  
  27.   
  28.         // 设置不使用缓存  
  29.         conn.setUseCaches(false);  
  30.         // 设置连接超时的时间 - 5s  
  31.         conn.setConnectTimeout(5000);  
  32.         // 设置读取超时的时间 - 5s  
  33.         conn.setReadTimeout(5000);  
  34.         // 设置HTTP请求的方法 - POST  
  35.         conn.setRequestMethod("POST");  
  36.         // 设置HTTP请求属性 - 连接方式:保持  
  37.         conn.setRequestProperty("Connection""Keep-Alive");  
  38.         // 设置HTTP请求属性 - 字符集:UTF-8  
  39.         conn.setRequestProperty("Charset""UTF-8");  
  40.         // 设置HTTP请求属性 - 传输内容的类型 - 简单表单  
  41.         conn.setRequestProperty("Content-Type",  
  42.                 "application/x-www-form-urlencoded");  
  43.         // 设置HTTP请求属性 - 传输内容的长度  
  44.         conn.setRequestProperty("Content-Length",  
  45.                 String.valueOf(params.length()));  
  46.         // 设置HTTP请求属性 - 用户代理  
  47.         conn.setRequestProperty("User-Agent",  
  48.                 "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0");  
  49.         // 发送参数 ,采用字符流发送数据  
  50.         PrintWriter pw = new PrintWriter(conn.getOutputStream());  
  51.         pw.write(params);  
  52.         pw.flush();  
  53.         pw.close();  
  54.         // 获取返回的结果  
  55.         if (200 == conn.getResponseCode()) {// 判断状态码  
  56.             // 读取服务器返回的 结果 - 字符流  
  57.             BufferedReader br = new BufferedReader(new InputStreamReader(  
  58.                     conn.getInputStream()));  
  59.             // 每次读取一行  
  60.             String line;  
  61.             while((line = br.readLine()) != null){  
  62.                 result.append(line);  
  63.             }  
  64.         }  
  65.         // 关闭HTTP连接  
  66.         conn.disconnect();  
  67.         return result.toString();  
  68.     }  
  69.   
  70.     /** 
  71.      * GET方法提交HTTP请求,返回请求的结果 
  72.      * @param url 
  73.      * @return 请求的结果 
  74.      * @throws IOException 
  75.      */  
  76.     public static String sendGet(String url) throws IOException {  
  77.   
  78.         StringBuffer result = new StringBuffer();  
  79.         // 创建URL对象  
  80.         URL _url = new URL(url);  
  81.         // 创建HTTP连接  
  82.         HttpURLConnection conn = (HttpURLConnection) _url.openConnection();  
  83.         // 设置网络连接的相关参数  
  84.         // 设置输入可用  
  85.         conn.setDoInput(true);  
  86.         // 设置输出可用  
  87.         conn.setDoOutput(true);  
  88.         // 设置不使用缓存  
  89.         conn.setUseCaches(false);  
  90.         // 设置连接超时的时间 - 5s  
  91.         conn.setConnectTimeout(5000);  
  92.         // 设置读取超时的时间 - 5s  
  93.         conn.setReadTimeout(5000);  
  94.         // 设置HTTP请求的方法 - GET  
  95.         conn.setRequestMethod("GET");  
  96.         // 设置HTTP请求属性 - 连接方式:保持  
  97.         conn.setRequestProperty("Connection""Keep-Alive");  
  98.         // 设置HTTP请求属性 - 字符集:UTF-8  
  99.         conn.setRequestProperty("Charset""UTF-8");  
  100.         // 设置HTTP请求属性 - 用户代理  
  101.         conn.setRequestProperty("User-Agent",  
  102.                 "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0");  
  103.         // 获取返回的结果  
  104.         if (200 == conn.getResponseCode()) {// 判断状态码  
  105.             BufferedReader br = new BufferedReader(new InputStreamReader(  
  106.                     conn.getInputStream()));  
  107.             // 每次读取一行  
  108.             String line;  
  109.             while((line = br.readLine()) != null){  
  110.                 result.append(line);  
  111.             }  
  112.         }  
  113.         // 关闭HTTP连接  
  114.         conn.disconnect();  
  115.         return result.toString();  
  116.     }  
  117. }