放牧代码和思想
专注自然语言处理、机器学习算法
    时间有限,只有GitHub上的issue能及时处理,大约每周末一次。另外,不要叫我楼主,谢谢。

Android 开发中发送http请求

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

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

 

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

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

Xml代码  

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

 

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

Java代码  

  1. HttpClient client = new DefaultHttpClient();  

  2. HttpPost post = new HttpPost(urlAddress);  

 

3、配置post请求的参数

Java代码  

  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代码  

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

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

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

 

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

Java代码  

  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/

知识共享许可协议 知识共享署名-非商业性使用-相同方式共享码农场 » Android 开发中发送http请求

分享到:更多 ()

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    good

    laughl5年前 (2012-12-07)回复

我的开源项目

HanLP自然语言处理包基于DoubleArrayTrie的Aho Corasick自动机