当前位置:操作系统 > 安卓/Android >>

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

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

view plaincopy to clipboardprint?private void HttpPostData() { 
try { 
    HttpClient httpclient = new DefaultHttpClient(); 
    String uri = "http://www.yourweb.com"; 
    HttpPost httppost = new HttpPost(uri);  
    //添加http头信息  
    httppost.addHeader("Authorization", "your token"); //认证token  
    httppost.addHeader("Content-Type", "application/json"); 
    httppost.addHeader("User-Agent", "imgfornote"); 
    //http post的json数据格式:  {"name": "your name","parentId": "id_of_parent"}  
    JSONObject obj = new JSONObject(); 
    obj.put("name", "your name"); 
    obj.put("parentId", "your parentid"); 
    httppost.setEntity(new StringEntity(obj.toString()));    
    HttpResponse response; 
    response = httpclient.execute(httppost); 
    //检验状态码,如果成功接收数据  
    int code = response.getStatusLine().getStatusCode(); 
    if (code == 200) {  
        String rev = EntityUtils.toString(response.getEntity());//返回json格式: {"id": "27JpL~j4vsL0LX00E00005","version": "abc"}         
        obj = new JSONObject(rev); 
        String id = obj.getString("id"); 
        String version = obj.getString("version"); 
    } 
    } catch (ClientProtocolException e) {    
    } catch (IOException e) {    
    } catch (Exception e) {  
    } 

private void HttpPostData() {
try {
 HttpClient httpclient = new DefaultHttpClient();
 String uri = "http://www.yourweb.com";
 HttpPost httppost = new HttpPost(uri);
 //添加http头信息
 httppost.addHeader("Authorization", "your token"); //认证token
 httppost.addHeader("Content-Type", "application/json");
 httppost.addHeader("User-Agent", "imgfornote");
 //http post的json数据格式:  {"name": "your name","parentId": "id_of_parent"}
 JSONObject obj = new JSONObject();
 obj.put("name", "your name");
 obj.put("parentId", "your parentid");
 httppost.setEntity(new StringEntity(obj.toString())); 
 HttpResponse response;
 response = httpclient.execute(httppost);
 //检验状态码,如果成功接收数据
 int code = response.getStatusLine().getStatusCode();
 if (code == 200) {
  String rev = EntityUtils.toString(response.getEntity());//返回json格式: {"id": "27JpL~j4vsL0LX00E00005","version": "abc"}  
  obj = new JSONObject(rev);
  String id = obj.getString("id");
  String version = obj.getString("version");
 }
 } catch (ClientProtocolException e) { 
 } catch (IOException e) { 
 } catch (Exception e) { 
 }
}主要用到的类有:org.apache.http.client.HttpClient 、org.apache.http.client.methods.HttpPost 和 org.json.JSONObject

 

作者“心灵净土的专栏”

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,