用httpPost對JSON發送和接收的例子


HTTPPost發送JSON:
private static final String APPLICATION_JSON = "application/json";
    
    
private static final String CONTENT_TYPE_TEXT_JSON = "text/json";

public static void httpPostWithJSON(String url, String json) throws Exception {
        
// 將JSON進行UTF-8編碼,以便傳輸中文
        String encoderJson = URLEncoder.encode(json, HTTP.UTF_8);
        
        DefaultHttpClient httpClient 
= new DefaultHttpClient();
        HttpPost httpPost 
= new HttpPost(url);
        httpPost.addHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON);
        
        StringEntity se 
= new StringEntity(encoderJson);
        se.setContentType(CONTENT_TYPE_TEXT_JSON);
        se.setContentEncoding(
new BasicHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON));
        httpPost.setEntity(se);
        httpClient.execute(httpPost);
    }

接收HTTPPost中的JSON:

public static String receivePost(HttpServletRequest request) throws IOException, UnsupportedEncodingException {
        
        
// 讀取請求內容
        BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream()));
        String line 
= null;
        StringBuilder sb 
= new StringBuilder();
        
while((line = br.readLine())!=null){
            sb.append(line);
        }


        
// 將資料解碼
        String reqBody = sb.toString();
        
return URLDecoder.decode(reqBody, HTTP.UTF_8);
    }


原文地址:http://www.blogjava.net/duansky/archive/2012/03/18/372137.html



發佈了15 篇原創文章 · 獲贊 8 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章