2012-04-12 21:24 Android 开发中发送http请求

大家都知道http请求包括get方式和post方式。

get方式会将发送的参数信息显示在浏览器的地址栏中,处于一点安全以及地址的简洁考虑,对于参数较多大多选用post请求。尤其是当get传送的参数长度大于浏览器可接受的最大长度时(见本文最后),只能选择post方式传输。

android中http post请求大致分为以下四个部分

1、在AndroidManifest.xml中添加对网络访问权限的设置。允许应用进行网络连接

Xml代码   2012-04-12 21:24 Android 开发中发送http请求

  1. <uses-permission android:name="android.permission.INTERNET" />  

2、新建HttpClient 和 HttpPost对象执行post请求

Java代码   2012-04-12 21:24 Android 开发中发送http请求

  1. HttpClient client = new DefaultHttpClient();  
  2. HttpPost post = new HttpPost(urlAddress);  

3、配置post请求的参数

Java代码   2012-04-12 21:24 Android 开发中发送http请求

  1. List<NameValuePair> parameters = new ArrayList<NameValuePair>();  
  2. parameters.add(new BasicNameValuePair("parameter1", "parameterValue1"));  
  3. parameters.add(new BasicNameValuePair("parameter2", "parameterValue2"));  
  4. post.setEntity(new UrlEncodedFormEntity(parameters));  

4、发送post请求

Java代码   2012-04-12 21:24 Android 开发中发送http请求

  1. HttpResponse response = client.execute(post);  

 返回的HttpResponse对象包含了返回的网页所有信息。包括状态、网页内容、网页状态等,用response.getEntity();获得网页内容

详见http://developers.androidcn.com/reference/org/apache/http/HttpResponse.html

android中http get请求大致分为三个部分,少了上面的第三部。第二步修改为

Java代码   2012-04-12 21:24 Android 开发中发送http请求

  1. HttpClient client = new DefaultHttpClient();  
  2. HttpGet get = new HttpGet(urlAddress);  

参考:http://www.wikihow.com/Execute-HTTP-POST-Requests-in-Android

附:各个浏览器get最大长度

各浏览器HTTP Get请求URL最大长度并不相同,几类常用浏览器最大长度及超过最大长度后提交情况如下:

IE6.0            :url最大长度2083个字符,超过最大长度后无法提交。

IE7.0            :url最大长度2083个字符,超过最大长度后仍然能提交,但是只能传过去2083个字符。

firefox 3.0.3    :url最大长度7764个字符,超过最大长度后无法提交。

Opera 9.52       :url最大长度7648个字符,超过最大长度后无法提交。

Google Chrome 2.0.168   :url最大长度7713个字符,超过最大长度后无法提交。

参考:http://blog.163.com/da2qia1ku5@126/blog/static/35485935201010295035495/

相关推荐