码迷,mamicode.com
首页 > 移动开发 > 详细

android中的HttpUrlConnection的使用之五

时间:2016-09-08 23:23:53      阅读:351      评论:0      收藏:0      [点我收藏+]

标签:

在使用之三中,我简单的介绍一下,get方式传递数据,而这里我将简单的介绍一下post方式。至于get方式与post方式有什么不同,我先卖一个关子,等我先把两个方式的关键代码贴出来,我再来说明这两种方式的不同和优缺点。

java代码(首先说明一下,下面的代码都是客户端的代码,也就是手机端的代码)

get方式的代码(出自使用之三)

 1     private void DoGet() throws Exception
 2     {
 3         Log.i("main", "1");
 4         url = url + "?name=" +name + "&age=" + age; 
 5         URL url = new URL(this.url);
 6         Log.i("main", "2");
 7         HttpURLConnection httpurlconnection = (HttpURLConnection) url.openConnection();
 8         httpurlconnection.setRequestMethod("GET");
 9         httpurlconnection.setReadTimeout(5000);
10         
11         
12         
13         //使用get方式,服务端只有一个输出流,因此手机端只需要有一个输入流就行
14         BufferedReader br = new BufferedReader(new InputStreamReader(httpurlconnection.getInputStream()));
15         StringBuffer sb = new StringBuffer();
16         String string = null;
17         while((string = br.readLine()) != null)
18         {
19             sb.append(string);
20         }
21         Log.i("main", sb.toString());
22     }

post方式代码

 1     private void Dopost() throws Exception
 2     {
 3         URL url = new URL(this.url);
 4         HttpURLConnection httpurlconnection = (HttpURLConnection) url.openConnection();
 5         httpurlconnection.setRequestMethod("POST");
 6         httpurlconnection.setReadTimeout(5000);
 7         
 8         //注意这里 有一个输出流,因为使用方式post传输,在服务器端有一个输入流等着
 9         OutputStream out = httpurlconnection.getOutputStream();
10         String content = "name=" + name + "&age=" + age;
11         out.write(content.getBytes());
12         
13         //其次服务器端有一个输出流,因此这里必须有一个输入流,否则线程会一直等着
14         BufferedReader br = new BufferedReader(new InputStreamReader(httpurlconnection.getInputStream()));
15         StringBuffer sb = new StringBuffer();
16         String string = null;
17         while((string = br.readLine()) != null)
18         {
19             sb.append(string);
20         }
21         Log.i("main", sb.toString());
22         
23     }

最后,我再来介绍一下get方式与post方式的区别:

1.get方式发送数据是通过URL发送,因此在初始化URL时,加上了name和age的值,这是因为get方式通过URL发送数据的;而post方式发送数据是通过输出流,也就是服务器端的输入流来接收数据的。

2.get方式发送的数据相对来说是较小的,通常只有几KB;相较于大一点的数据通常使用post方式,因为post是通过输出流来发送数据的

3.get方式发送数据时,所有的数据全部通过URL而暴露出来,并不是很安全;而post是通过流通道来发送的,相对来比较安全

            

android中的HttpUrlConnection的使用之五

标签:

原文地址:http://www.cnblogs.com/Stay-Hungry-Stay-Foolish/p/5854720.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!