標籤:nec 字元 檔案類型 data 位元組 json 緩衝 == request
1 /** 2 * 向指定 URL 發送POST方法的請求 3 * 4 * @param url 5 * 發送請求的 URL 6 * @param param 7 * 請求參數,請求參數應該是 name1=value1&name2=value2 的形式。 8 * @return 所代表遠端資源的響應結果 9 */10 public static String sendPostByJson(String url, String jsString) {11 String result = "";12 try {13 // 建立url資源14 URL RelUrl = new URL(url);15 // 建立http串連16 HttpURLConnection conn = (HttpURLConnection) RelUrl.openConnection();17 // 設定允許輸出18 conn.setDoOutput(true);19 20 conn.setDoInput(true);21 22 // 設定不用緩衝23 conn.setUseCaches(false);24 // 設定傳遞方式25 conn.setRequestMethod("POST");26 // 設定維持長串連27 conn.setRequestProperty("Connection", "Keep-Alive");28 // 設定檔案字元集:29 conn.setRequestProperty("Charset", "UTF-8");30 //轉換為位元組數組31 byte[] data = (jsString).getBytes();32 // 設定檔案長度33 conn.setRequestProperty("Content-Length", String.valueOf(data.length));34 35 // 設定檔案類型:36 conn.setRequestProperty("contentType", "application/json");37 38 39 // 開始串連請求40 conn.connect();41 OutputStream out = conn.getOutputStream(); 42 // 寫入請求的字串43 out.write((jsString).getBytes());44 out.flush();45 out.close();46 47 System.out.println(conn.getResponseCode());48 49 // 請求返回的狀態50 if (conn.getResponseCode() == 200) {51 System.out.println("串連成功");52 // 請求返回的資料53 InputStream in = conn.getInputStream();54 try {55 byte[] data1 = new byte[in.available()];56 in.read(data1);57 // 轉成字串58 result = new String(data1);59 System.out.println(result);60 } catch (Exception e1) {61 // TODO Auto-generated catch block62 e1.printStackTrace();63 }64 } else {65 System.out.println("no++");66 }67 68 } catch (Exception e) {69 70 }71 return result;72 }
Post請求url介面傳json資料