• Android中使用HttpGet和HttpPost访问HTTP资源


    需求:用户登录(name:用户名,pwd:密码)

    (一)HttpGet :doGet()方法
    //doGet():将参数的键值对附加在url后面来传递

    [java] view plaincopy
     
     
    1. public String getResultForHttpGet(String name,String pwd) throws ClientProtocolException, IOException{  
    2.                 //服务器  :服务器项目  :servlet名称  
    3.                 String path="http://192.168.5.21:8080/test/test";  
    4.                 String uri=path+"?name="+name+"&pwd="+pwd;  
    5.                 //name:服务器端的用户名,pwd:服务器端的密码  
    6.                 //注意字符串连接时不能带空格  
    7.                  
    8.                 String result="";  
    9.                  
    10.                 HttpGet httpGet=new HttpGet(uri);//编者按:与HttpPost区别所在,这里是将参数在地址中传递  
    11.                 HttpResponse response=new DefaultHttpClient().execute(httpGet);  
    12.                 if(response.getStatusLine().getStatusCode()==200){  
    13.                         HttpEntity entity=response.getEntity();  
    14.                         result=EntityUtils.toString(entity, HTTP.UTF_8);  
    15.                 }  
    16.                 return result;  
    17.         }  

    (二)HttpPost :doPost()方法
    //doPost():将参数打包到http报头中传递

    [java] view plaincopy
     
     
    1. public String getReultForHttpPost(String name,String pwd) throws ClientProtocolException, IOException{  
    2.                 //服务器  :服务器项目  :servlet名称  
    3.                 String path="http://192.168.5.21:8080/test/test";  
    4.                 HttpPost httpPost=new HttpPost(path);  
    5.                 List<NameValuePair>list=new ArrayList<NameValuePair>();  
    6.                 list.add(new BasicNameValuePair("name", name));  
    7.                 list.add(new BasicNameValuePair("pwd", pwd));  
    8.                 httpPost.setEntity(new UrlEncodedFormEntity(list,HTTP.UTF_8));//编者按:与HttpGet区别所在,这里是将参数用List传递  
    9.                  
    10.                 String result="";  
    11.                  
    12.                 HttpResponse response=new DefaultHttpClient().execute(httpPost);  
    13.                 if(response.getStatusLine().getStatusCode()==200){  
    14.                         HttpEntity entity=response.getEntity();  
    15.                         result=EntityUtils.toString(entity, HTTP.UTF_8);  
    16.                 }  
    17.                 return result;  
    18.         }  

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

    由此我们可知,HttpGet和HttpPost的区别在于前者是将参数在地址中传递,后者是将参数用List传递。

  • 相关阅读:
    BZOJ3105:[CQOI2013]新Nim游戏(线性基,贪心)
    BZOJ5102:[POI2018]Prawnicy(贪心,堆)
    BZOJ3533:[SDOI2014]向量集(线段树,三分,凸包)
    BZOJ3569:DZY Loves Chinese II(线性基)
    BZOJ3534:[SDOI2014]重建(矩阵树定理)
    【BZOJ 1202】 [HNOI2005]狡猾的商人
    【BZOJ 1003】 [ZJOI2006]物流运输trans
    【BZOJ 2321】 [BeiJing2011集训]星器
    【BZOJ 1010】 [HNOI2008]玩具装箱toy
    【BZOJ 2730】 [HNOI2012]矿场搭建
  • 原文地址:https://www.cnblogs.com/huoshenmanbu/p/4765760.html
Copyright © 2020-2023  润新知