Android中使用HttpGet和HttpPost访问HTTP资源(一)
16lz
2021-01-25
先看下面一篇文章:
-------------------------------------------------------------------------------------------------------
需求:用户登录(name:用户名,pwd:密码)
(一)HttpGet :doGet()方法
//doGet():将参数的键值对附加在url后面来传递
public String getResultForHttpGet(String name,String pwd) throws ClientProtocolException, IOException{ //服务器 :服务器项目 :servlet名称 String path="http://192.168.5.21:8080/test/test"; String uri=path+"?name="+name+"&pwd="+pwd; //name:服务器端的用户名,pwd:服务器端的密码 //注意字符串连接时不能带空格 String result=""; HttpGet httpGet=new HttpGet(uri);//编者按:与HttpPost区别所在,这里是将参数在地址中传递 HttpResponse response=new DefaultHttpClient().execute(httpGet); if(response.getStatusLine().getStatusCode()==200){ HttpEntity entity=response.getEntity(); result=EntityUtils.toString(entity, HTTP.UTF_8); } return result; }
(二)HttpPost :doPost()方法
//doPost():将参数打包到http报头中传递
public String getReultForHttpPost(String name,String pwd) throws ClientProtocolException, IOException{ //服务器 :服务器项目 :servlet名称 String path="http://192.168.5.21:8080/test/test"; HttpPost httpPost=new HttpPost(path); List<NameValuePair>list=new ArrayList<NameValuePair>(); list.add(new BasicNameValuePair("name", name)); list.add(new BasicNameValuePair("pwd", pwd)); httpPost.setEntity(new UrlEncodedFormEntity(list,HTTP.UTF_8));//编者按:与HttpGet区别所在,这里是将参数用List传递 String result=""; HttpResponse response=new DefaultHttpClient().execute(httpPost); if(response.getStatusLine().getStatusCode()==200){ HttpEntity entity=response.getEntity(); result=EntityUtils.toString(entity, HTTP.UTF_8); } return result; }
-------------------------------------------------------------------------------------------------------
由此我们可知,HttpGet和HttpPost的区别在于前者是将参数在地址中传递,后者是将参数用List传递。
更多相关文章
- 万字长文带你了解最常用的开源 Squid 代理服务器
- Nginx系列教程(一)| 手把手教你在Linux环境下搭建Nginx服务
- Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
- android——OpenGL(2)——gl10方法解析
- Android(安卓)- fragment之间数据传递
- Retrofit使用总结
- android下的文件权限
- om.android.builder.model.SourceProvider.getShadersDirectorie
- Android(安卓)SDK manager镜像服务器