1. 程式人生 > >java以json格式向後臺伺服器介面傳送請求

java以json格式向後臺伺服器介面傳送請求

程式碼如下

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

	}

}