java後台實現用URL調用別人的介面,並且得到介面返回的值
//參數jsonStr是內容,path介面url地址public String sendPost(String jsonStr, String path) throws IOException {byte[] data = jsonStr.getBytes();java.net.URL url = new java.net.URL(path);java.net.HttpURLConnection conn = (java.net.HttpURLConnection) url.openConnection();conn.setRequestMethod("POST");conn.setConnectTimeout(5 * 1000);// 設定連線逾時時間為5秒conn.setReadTimeout(20 * 1000);// 設定讀取逾時時間為20秒// 使用 URL 串連進行輸出,則將 DoOutput標誌設定為 trueconn.setDoOutput(true);conn.setRequestProperty("Content-Type", "text/xml;charset=UTF-8");// conn.setRequestProperty("Content-Encoding","gzip");conn.setRequestProperty("Content-Length", String.valueOf(data.length));OutputStream outStream = conn.getOutputStream();// 返回寫入到此串連的輸出資料流outStream.write(data);outStream.close();// 關閉流String msg = "";// 儲存調用http服務後的響應資訊// 如果請求響應碼是200,則表示成功if (conn.getResponseCode() == 200) {// HTTP服務端返回的編碼是UTF-8,故必須設定為UTF-8,保持編碼統一,否則會出現中文亂碼BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));msg = in.readLine();in.close();}conn.disconnect();// 中斷連線return msg;}