Android 如何用HttpClient 以Post方式提交数据并添加http头信息


Android 如何 post json格式的数据,并附加http头,接受返回数据,请看下面的代码:

  1. private void HttpPostData() {  
  2. try {  
  3.     HttpClient httpclient = new DefaultHttpClient();  
  4.     String uri = "http://www.yourweb.com";  
  5.     HttpPost httppost = new HttpPost(uri);   
  6.     //添加http头信息   
  7.     httppost.addHeader("Authorization""your token"); //认证token   
  8.     httppost.addHeader("Content-Type""application/json");  
  9.     httppost.addHeader("User-Agent""imgfornote");  
  10.     //http post的json数据格式:  {"name": "your name","parentId": "id_of_parent"}   
  11.     JSONObject obj = new JSONObject();  
  12.     obj.put("name""your name");  
  13.     obj.put("parentId""your parentid");  
  14.     httppost.setEntity(new StringEntity(obj.toString()));     
  15.     HttpResponse response;  
  16.     response = httpclient.execute(httppost);  
  17.     //检验状态码,如果成功接收数据   
  18.     int code = response.getStatusLine().getStatusCode();  
  19.     if (code == 200) {   
  20.         String rev = EntityUtils.toString(response.getEntity());//返回json格式: {"id": "27JpL~j4vsL0LX00E00005","version": "abc"}          
  21.         obj = new JSONObject(rev);  
  22.         String id = obj.getString("id");  
  23.         String version = obj.getString("version");  
  24.     }  
  25.     } catch (ClientProtocolException e) {     
  26.     } catch (IOException e) {     
  27.     } catch (Exception e) {   
  28.     }  
  29. }  

主要用到的类有:org.apache.http.client.HttpClient 、org.apache.http.client.methods.HttpPost 和 org.json.JSONObject

相关内容