使用HttpURLConnection访问网络

1.发送GET请求

   public void htttpOfGet(String url) {

      Url url;
        try {
            url = new URL(url);
            HttpURLConnection urlConn = (HttpURLConnection) url
                    .openConnection();    //创建一个HTTP连接
            InputStreamReader in = new InputStreamReader(
                    urlConn.getInputStream());  // 获得读取的内容
            BufferedReader buffer = new BufferedReader(in); // 获取输入流对象
            String inputLine = null;
            //通过循环逐行读取输入流中的内容
            while ((inputLine = buffer.readLine()) != null) {
                result += inputLine + "\n";
            }
            in.close();    //关闭字符输入流对象
            urlConn.disconnect();    //断开连接
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }



2.发送post请求

          由于采用GET方式发送请求只适合发送大小在1024个字节以内的数据,所以当要发送的数据比较大时,就需要使用POST方式来发送该请求。

  在android中,使用HttpURLConnection类发送请求时,默认采用的是GET请求,如果要发送POST请求,需要通过其setRequestMethod()方法进行

        指定。

public void httpOfPost(String url) {

//        String target = "http://192.168.168.100:8080/pageInfor/index2.jsp";    //要提交的目标地址         URL url;         try {             url = new URL(url);             HttpURLConnection urlConn = (HttpURLConnection) url                     .openConnection(); // 创建一个HTTP连接             urlConn.setRequestMethod("POST"); // 指定使用POST请求方式             urlConn.setDoInput(true); // 向连接中写入数据             urlConn.setDoOutput(true); // 从连接中读取数据             urlConn.setUseCaches(false); // 禁止缓存             urlConn.setInstanceFollowRedirects(true);    //自动执行HTTP重定向             urlConn.setRequestProperty("Content-Type",                     "application/x-www-form-urlencoded"); // 设置内容类型为表单数据             DataOutputStream out = new DataOutputStream(                     urlConn.getOutputStream()); // 获取输出流  //            String param = "nickname=" //                    + URLEncoder.encode(nickname.getText().toString(), "utf-8") //                    + "&content=" //                    + URLEncoder.encode(content.getText().toString(), "utf-8");    //连接要提交的数据 //            out.writeBytes(param);//将要传递的数据写入数据输出流             out.flush();    //输出缓存             out.close();    //关闭数据输出流             // 判断是否响应成功             if (urlConn.getResponseCode() == HttpURLConnection.HTTP_OK) {                 InputStreamReader in = new InputStreamReader(                         urlConn.getInputStream()); // 获得读取的内容                 BufferedReader buffer = new BufferedReader(in); // 获取输入流对象                 String inputLine = null;                 while ((inputLine = buffer.readLine()) != null) {                     result += inputLine + "\n";                 }                 in.close();    //关闭字符输入流             }             urlConn.disconnect();    //断开连接         } catch (MalformedURLException e) {             e.printStackTrace();         } catch (IOException e) {             e.printStackTrace();         }     }

相关文章
相关标签/搜索