1. 程式人生 > >訪問Http介面的兩種請求方式

訪問Http介面的兩種請求方式

1. POST方式請求

public void testPostLogin() throws  Exception{
    String url = "http://192.168.1.160:8080/app/user/login.xhtml";
    Map<String,String> paramMap = new HashMap<String,String>();
    paramMap.put("username","ting");
    paramMap.put("password","1");
    URL realUrl = new URL(url);
    // 開啟與URL之間的連結
URLConnection conn = realUrl.openConnection(); // 設定通用的請求屬性 conn.setRequestProperty("accept","*/*"); conn.setRequestProperty("connection","Keep-Alive"); conn.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)\""); conn.setRequestProperty("Charset","UTF-8"
); //傳送POST請求必須設定如下兩行 conn.setDoOutput(true); conn.setDoInput(true); // 獲取URLConnection物件對應的輸出流 PrintWriter out = new PrintWriter(conn.getOutputStream()); // 設定請求屬性 String param = ""; if(paramMap!=null&&paramMap.size()>0){ for(Map.Entry<String,String> entry :paramMap.entrySet()){ String key = entry.getKey(); String value = entry.getValue(); param += (key+"="
+value+"&"); } param = param.substring(0,param.length()-1); } // 傳送請求引數 out.print(param); // flush輸出流緩衝 out.flush(); // 定義BufferedReader輸入流來讀取URL的響應 BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8")); String line ; String result = "" ; while((line=reader.readLine())!=null){ result +=line; } JSONParser parser = new JSONParser(); JSONObject jsonObject = (JSONObject)parser.parse(result); Object regFlag = jsonObject.get("retFlag"); Object message = jsonObject.get("message"); Object data = jsonObject.get("data"); jsonObject = (JSONObject)parser.parse(data.toString()); Object id = jsonObject.get("id"); Object username = jsonObject.get("username"); System.out.print(result); }
2. GET方式請求
public void testGetLogin() throws  Exception{
    URL url = new URL("http://192.168.1.160:8080/app/user/login.xhtml?username=ting&password=1");
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    connection.connect();
    BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(),"UTF-8"));
    String line ;
    StringBuilder sb = new StringBuilder();
    while((line=reader.readLine())!=null){
        sb.append(line);
    }
    connection.disconnect();
    JSONParser parser = new JSONParser();
    JSONObject jsonObject = (JSONObject)parser.parse(sb.toString());
    Object regFlag = jsonObject.get("retFlag");
    Object message = jsonObject.get("message");
    Object data = jsonObject.get("data");
    jsonObject = (JSONObject)parser.parse(data.toString());
    Object id = jsonObject.get("id");
    Object username = jsonObject.get("username");

    System.out.print(sb.toString());
}