訪問Http介面的兩種請求方式
阿新 • • 發佈:2019-01-03
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之間的連結2. GET方式請求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&¶mMap.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); }
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()); }