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

jopen 12年前
     如何 post json格式的数据,并附加http头,接受返回数据,请看下面的代码:    <pre class="brush:cpp; toolbar: true; auto-links: false;">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) {   } }</pre>主要用到的类有:org.apache.http.client.HttpClient 、org.apache.http.client.methods.HttpPost 和 org.json.JSONObject