讀取Http body中的數據


一般http的數據是以key value方式post的,所以可以用
request.getParameter

來獲取。

但如果不是key value形式post數據,則需要讀取http中body:

方法如下

request.setCharacterEncoding("UTF-8");
String body = null;
StringBuilder stringBuilder = new StringBuilder();
BufferedReader bufferedReader = null;

try {
   InputStream inputStream = request.getInputStream();
   if (inputStream != null) {
      bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"UTF-8"));
      char[] charBuffer = new char[128];
      int bytesRead = -1;
      while ((bytesRead = bufferedReader.read(charBuffer)) > 0) {
         stringBuilder.append(charBuffer, 0, bytesRead);
         System.out.println(charBuffer);
      }
   } else {
      stringBuilder.append("");
   }
} catch (IOException ex) {
   throw ex;
} finally {
   if (bufferedReader != null) {
      try {
         bufferedReader.close();
      } catch (IOException ex) {
         throw ex;
      }
   }
}

body = stringBuilder.toString();


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章