標籤:
轉自:http://www.linuxidc.com/Linux/2011-09/42772.htm
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":11 // "id_of_parent"}12 JSONObject obj = new JSONObject();13 obj.put("name", "your name");14 obj.put("parentId", "your parentid");15 httppost.setEntity(new StringEntity(obj.toString()));16 HttpResponse response;17 response = httpclient.execute(httppost);18 // 檢驗狀態代碼,如果成功接收資料19 int code = response.getStatusLine().getStatusCode();20 if (code == 200) {21 String rev = EntityUtils.toString(response.getEntity());// 返回json格式:22 // {"id":23 // "27JpL~j4vsL0LX00E00005","version":24 // "abc"}25 obj = new JSONObject(rev);26 String id = obj.getString("id");27 String version = obj.getString("version");28 }29 } catch (ClientProtocolException e) {30 } catch (IOException e) {31 } catch (Exception e) {32 }33 }
主要用到的類有:org.apache.http.client.HttpClient 、org.apache.http.client.methods.HttpPost 和 org.json.JSONObject
Android 如何用HttpClient 以Post方式提交資料並添加http頭資訊