核心代碼:
參數格式:
“key1=value1&key2=value2”
/**
* sendUrl (遠程請求的URL)
* param (遠程請求參數)
* JSONObject (遠程請求返回的JSON)
*/
private JSONObject sendPostUrl(String url, String param){ PrintWriter out = null; BufferedReader in = null; JSONObject jsonObject = null; String result = ""; try { URL realUrl = new URL(url); // 打開和URL之間的連接 URLConnection conn = realUrl.openConnection(); // 發送POST請求必須設置如下兩行 conn.setDoOutput(true); conn.setDoInput(true); // 獲取URLConnection對象對應的輸出流(設置請求編碼為UTF-8) out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(), "UTF-8")); // 發送請求參數 out.print(param); // flush輸出流的緩沖 out.flush(); // 獲取請求返回數據(設置返回數據編碼為UTF-8) in = new BufferedReader( new InputStreamReader(conn.getInputStream(), "UTF-8")); String line; while ((line = in.readLine()) != null) { result += line; } jsonObject = JSONObject.fromObject(result); System.out.println(jsonObject); } catch (IOException e) { e.printStackTrace(); } finally{ try{ if(out!=null){ out.close(); } if(in!=null){ in.close(); } } catch(IOException ex){ ex.printStackTrace(); } } return jsonObject; }
調用方法:
public JSONObject send(String username, String password){ String params = "username=" + username+ "&password=" + password; JSONObject jsonObject = sendPostUrl("https://www.ysy7.com/login/", params); return jsonObject; }