java以json格式向後臺伺服器介面傳送請求
阿新 • • 發佈:2019-02-13
程式碼如下
import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import net.sf.json.JSONObject; public class InterfaceRequest { //模擬向騰訊雲傳送介面 //介面 private final static String URL = "https://console.tim.qq.com/v4/im_open_login_svc/account_import?"; /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub //連線伺服器 HttpURLConnection connection = connection(URL); DataOutputStream out = new DataOutputStream( connection.getOutputStream()); JSONObject obj = new JSONObject(); obj.element("Identifier", "hehe"); System.out.println(obj.toString()); // 向騰訊請求傳入編碼為UTF-8格式的json資料 out.write(obj.toString().getBytes("UTF-8")); out.flush(); out.close(); //獲得伺服器返回的結果 BufferedReader reader = new BufferedReader(new InputStreamReader( connection.getInputStream())); String lines; StringBuffer sb = new StringBuffer(""); while ((lines = reader.readLine()) != null) { lines = new String(lines.getBytes(), "utf-8"); sb.append(lines); } reader.close(); } public static HttpURLConnection connection(String URL ) throws IOException { URL url = new URL(URL); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setDoOutput(true); connection.setDoInput(true); connection.setRequestMethod("POST"); connection.setUseCaches(false); connection.setInstanceFollowRedirects(true); connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); connection.connect(); return connection; // TODO Auto-generated method stub } }