Http协议[Get和Post]详解
(2012-11-27 11:23:26)
访问url,需要连接网络。所以,首先应该添加Manifest权限:
<uses-permission android:name="android.permission.INTERNET"/>
1.Get请求(核心代码)
private String baseUrl="http://192.168.1.100:8080/serverside/name"; private String name,age; //代表用户输入的请求内容 private HttpResponse httpResponse; private HttpEntity httpEntity; private InputStream inputStream; public void onClick(View v){ //此处的name+age,作为数据发送 String url=baseUrl+"?"+"name="+name+"&"+"age="+age; //生成一个请求对象 HttpGet httpGet=new HttpGet(url); //生成一个http客户端对象 HttpClient httpClient=new DefaultHttpClient(); //使用客户端发送请求对象 try { //接收服务器返回的响应 httpResponse=httpClient.execute(httpGet); //获取响应的内容 httpEntity=httpResponse.getEntity(); //将内容写入流中 inputStream=httpEntity.getContent(); //InputStreamReader是字节流到字符流的桥梁,将字节流转换为字符流存入缓冲区BufferedReader中 BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream)); String result=""; String line=""; //每次读取一行数据 while((line=bufferedReader.readLine()) != null){ result=result+line; } //输出服务器返回的内容 System.out.println(result); } catch (Exception e) { e.printStackTrace(); } } |
2、POST请求(核心代码)
private String baseUrl="http://192.168.1.100:8080/serverside/name"; private String name,age; private HttpResponse httpResponse; private HttpEntity httpEntity; private InputStream inputStream; public void onClick(View v){ //把请求的数据,添加到NameValuePair中 NameValuePair nameValuePair1=new BasicNameValuePair("name", name); NameValuePair nameValuePair2=new BasicNameValuePair("age", age); //将其添加到list列表中 List list=new ArrayList(); list.add(nameValuePair1); list.add(nameValuePair2); try { //将列表添加到HttpEntity中 HttpEntity requesthttpEntity=new UrlEncodedFormEntity(list); //生成一个请求对象 HttpPost httpPost=new HttpPost(baseUrl); //httpPost设置Entity ==把数据添加到了httpPost中 httpPost.setEntity(requesthttpEntity); //生成一个http客户端对象 HttpClient httpClient=new DefaultHttpClient(); httpResponse=httpClient.execute(httpPost); httpEntity=httpResponse.getEntity(); inputStream=httpEntity.getContent(); BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream)); String result=""; String line=""; while((line=bufferedReader.readLine()) != null){ result=result+line; } System.out.println(result); } catch (Exception e) { e.printStackTrace(); } } |
3.总结
---Android中,用GET和POST访问http资源--- ·字节,而POST则没有此限制 两种方法,只是传送数据的方式不同。根据不同的服务器规定的请求访问方式,灵活的运行Get和Post。 |
Http协议[Get和Post]详解的更多相关文章
- HTTP协议 (六) 状态码详解
HTTP协议 (六) 状态码详解 HTTP状态码,我都是现查现用. 我以前记得几个常用的状态码,比如200,302,304,404, 503. 一般来说我也只需要了解这些常用的状态码就可以了. 如果 ...
- SSL协议之数据加密过程详解
前言 总括: 原文博客地址:SSL协议之数据加密过程详解 知乎专栏&&简书专题:前端进击者(知乎)&&前端进击者(简书) 博主博客地址:Damonare的个人博客 生活 ...
- 第8章 应用协议 图解TCP/IP 详解
第8章 应用协议 图解TCP/IP 详解 8.1 应用层协议概要 应用层协议的定义 TCP和IP等下层协议是不依赖上层应用类型.实用性非常广的协议.而应用协议则是为了实现某种应用而设计和创造的协议. ...
- TCP协议粘包问题详解
TCP协议粘包问题详解 前言 在本章节中,我们将探讨TCP协议基于流式传输的最大一个问题,即粘包问题.本章主要介绍TCP粘包的原理与其三种解决粘包的方案.并且还会介绍为什么UDP协议不会产生粘包. 基 ...
- HTTP协议缓存策略深入详解之ETAG妙用
Etag是什么: Etag 是URL的Entity Tag,用于标示URL对象是否改变,区分不同语言和Session等等.具体内部含义是使服务器控制的,就像Cookie那样. HTTP协议规格说明定义 ...
- 安全超文本传输协议(HTTPS)详解
一.概念与摘要 HTTPS (Secure Hypertext Transfer Protocol)安全超文本传输协议,是一个安全通信通道,它基于HTTP开发用于在客户计算机和服务器之间交换信息.它使 ...
- HTTP协议的头信息详解
转载地址:http://blog.csdn.net/guoguo1980/article/details/2649658 HTTP(HyperTextTransferProtocol)是超文本传输协议 ...
- 转: HTTP协议的头信息详解
通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息.这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可 选的消息体组成.HTTP的头域包括通用头,请求头,响 ...
- 网络编辑基础:对HTTP协议的头信息详解
HTTP(HyperTextTransferProtocol) 是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP 协议的详细内容请参 考RFC2616.HTTP协议采用了请求/响应模型 ...
- FTP协议及工作原理详解
1. FTP协议 什么是FTP呢?FTP 是 TCP/IP 协议组中的协议之一,是英文File Transfer Protocol的缩写. 该协议是Internet文件传送的基础,它由一系列规格说明文 ...
随机推荐
- Laxcus大数据管理系统2.0(9)- 第七章 分布任务组件
第七章 分布任务组件 Laxcus 2.0版本的分布任务组件,是在1.x版本的基础上,重新整合中间件和分布计算技术,按照新增加的功能,设计的一套新的.分布状态下运行的数据计算组件和数据构建组件,以及依 ...
- 简单几步优化技巧令你的Windows7系统加速
就算有再高的硬件配置,系统用久了还是会变慢,xp如此,win7同样是如此.其实系统用的如何完全在于个人使用习惯,只要掌握了以下三种方法,就可以让你的win7运行速度大大提升. 1.修改启动项程序 在你 ...
- Windows7下安装IIS出现“出现错误,并非所有的功能被成功更改
1.开始,搜索输入UAC-->选择 “更改用户账户控制设置” 2.调到最低 3.打开控制面板-->程序-->打开或关闭windows功能,去掉图里的2个选项,点确定,重启 4.重启后 ...
- ionic 不同view的數據交互
angular中通過service factory 等服務來對不同的控制器進行數據交互 ,ionic 也一樣... var app = angular.module('ionicApp', ['ion ...
- 【.NET】MD5的用法(对文件、字符串)
using System;using System.IO;using System.Security.Cryptography;using System.Text;namespace ConsoleA ...
- poj1019_Number_Sequence
这题目关键是打表,haha[k]数组表示的是S1S2..Sk该串结尾所在的位置.然后用n去找n所在的k值,此时haha[k-1]<n<=haha[k].然后再算出从haha[k]位置到n一 ...
- sublime搭建Java编译平台及编码问题
Sublime自带Java编译功能,当时只能编译不能运行,我们做一下小小的修改就可以让sublime一步完成编译运行的功能,实现sublime搭建Java编译平台. 使用Ctrl + B 编译时,所编 ...
- 使用BootStrap制作用户登录UI
先看看劳动成果 布局 左右各一半(col-md-6) 左侧登录框占左侧一半的10/12 右侧是登录系统的注意事项 使用到的BootStrap元素 well 输入框组(input-group) 按钮(b ...
- javascript中for/in循环及使用技巧
JavaScript 支持不同类型的循环: for - 循环代码块一定的次数 for/in - 循环遍历对象的属性 while - 当指定的条件为 true 时循环指定的代码块 do/while - ...
- silverlight 不能输入中文问题
<param name="Windowless" value="true" />将调用silverlight页面的这句删除掉应该就能解决问题了 1. ...