首页 > 代码库 > android中的HttpUrlConnection的使用之五
android中的HttpUrlConnection的使用之五
在使用之三中,我简单的介绍一下,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的使用之五
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。