Android中使用HttpGet和HttpPost访问HTTP资源(一)

来源:互联网 发布:淘宝文案的标题怎么写 编辑:程序博客网 时间:2024/04/28 17:29

先看下面一篇文章:

-------------------------------------------------------------------------------------------------------

需求:用户登录(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传递。

原创粉丝点击