1. 程式人生 > >java調接口

java調接口

lose baidu XML rip script .net 信息泄露 輸入輸出 字符串

package util;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;

public class interfacetest {
		
//	    public static final String POST_URL = "http://112.4.27.9/mall-back/if_user/store_list";
		// 妙兜測試接口
		//public static final String POST_URL = "http://121.40.204.191:8180/mdserver/service/installLock";
	    
	    /**
	     * 接口調用 GET
	     */
	    public static void httpURLConectionGET(String GET_URL) {
	        try {
	            URL url = new URL(GET_URL);    // 把字符串轉換為URL請求地址
	            HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 打開連接
	            connection.connect();// 連接會話
	            // 獲取輸入流
	            //GBK為編碼格式,可以修改
	            BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), "GBK"));
	            String line;
	            StringBuilder sb = new StringBuilder();
	            while ((line = br.readLine()) != null) {// 循環讀取流
	                sb.append(line);
	            }
	            br.close();// 關閉流
	            connection.disconnect();// 斷開連接
	            System.out.println(sb.toString());
	            //System.out.println(new String(sb.toString().getBytes()));
	        } catch (Exception e) {
	            e.printStackTrace();
	            System.out.println("失敗!");
	        }
	    }
	    
	    /**
	     * 接口調用  POST
	     */
	    public static void httpURLConnectionPOST (String POST_URL) {
	        try {
	            URL url = new URL(POST_URL);
	            
	            // 將url 以 open方法返回的urlConnection  連接強轉為HttpURLConnection連接  (標識一個url所引用的遠程對象連接)
	            HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 此時cnnection只是為一個連接對象,待連接中
	            
	            // 設置連接輸出流為true,默認false (post 請求是以流的方式隱式的傳遞參數)
	            connection.setDoOutput(true);
	            
	            // 設置連接輸入流為true
	            connection.setDoInput(true);
	            
	            // 設置請求方式為post
	            connection.setRequestMethod("POST");
	            
	            // post請求緩存設為false
	            connection.setUseCaches(false);
	            
	            // 設置該HttpURLConnection實例是否自動執行重定向
	            connection.setInstanceFollowRedirects(true);
	            
	            // 設置請求頭裏面的各個屬性 (以下為設置內容的類型,設置為經過urlEncoded編碼過的from參數)
	            // application/x-javascript text/xml->xml數據 application/x-javascript->json對象 application/x-www-form-urlencoded->表單數據
	            // ;charset=utf-8 必須要,不然妙兜那邊會出現亂碼【★★★★★】
	            connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");	
	            
	            // 建立連接 (請求未開始,直到connection.getInputStream()方法調用時才發起,以上各個參數設置需在此方法之前進行)
	            connection.connect();
	            
	            // 創建輸入輸出流,用於往連接裏面輸出攜帶的參數,(輸出內容為?後面的內容)
	            DataOutputStream dataout = new DataOutputStream(connection.getOutputStream());
	            
	            String app_key = "app_key="+ URLEncoder.encode("4f7bf8c8260124e6e9c6bf094951a111", "utf-8");		// 已修改【改為錯誤數據,以免信息泄露】
	            String agt_num = "&agt_num="+ URLEncoder.encode("10111", "utf-8");				// 已修改【改為錯誤數據,以免信息泄露】
	            String pid = "&pid="+ URLEncoder.encode("BLZXA150401111", "utf-8");				// 已修改【改為錯誤數據,以免信息泄露】
	            String departid = "&departid="+ URLEncoder.encode("10007111", "utf-8");			// 已修改【改為錯誤數據,以免信息泄露】
	            String install_lock_name = "&install_lock_name="+ URLEncoder.encode("南天大門", "utf-8");
	            String install_address = "&install_address="+ URLEncoder.encode("北京育新", "utf-8");
	            String install_gps = "&install_gps="+ URLEncoder.encode("116.350888,40.011001", "utf-8");
	            String install_work = "&install_work="+ URLEncoder.encode("小李", "utf-8");
	            String install_telete = "&install_telete="+ URLEncoder.encode("13000000000", "utf-8");
	            String intall_comm = "&intall_comm="+ URLEncoder.encode("一切正常", "utf-8");
	            
	            // 格式 parm = aaa=111&bbb=222&ccc=333&ddd=444
	            String parm = app_key+ agt_num+ pid+ departid+ install_lock_name+ install_address+ install_gps+ install_work+ install_telete+ intall_comm;
	            
	            // 將參數輸出到連接
	            dataout.writeBytes(parm);
	            
	            // 輸出完成後刷新並關閉流
	            dataout.flush();
	            dataout.close(); // 重要且易忽略步驟 (關閉流,切記!) 
	            
//	            System.out.println(connection.getResponseCode());
	            
	            // 連接發起請求,處理服務器響應  (從連接獲取到輸入流並包裝為bufferedReader)
	            BufferedReader bf = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8")); 
	            String line;
	            StringBuilder sb = new StringBuilder(); // 用來存儲響應數據
	            
	            // 循環讀取流,若不到結尾處
	            while ((line = bf.readLine()) != null) {
//	                sb.append(bf.readLine());
	            	sb.append(line).append(System.getProperty("line.separator"));
	            }
	            bf.close();    // 重要且易忽略步驟 (關閉流,切記!) 
	            connection.disconnect(); // 銷毀連接
	            System.out.println(sb.toString());
	    
	        } catch (Exception e) {
	            e.printStackTrace();
	        }
	    }
	    
	    public static void main(String[] args) {
//	        httpURLConectionPOST("http://121.40.204.191:8180/mdserver/service/installLock");
	    	httpURLConectionGET("https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=123&json=1&p=3&sid=1438_21098_17001_22159&req=2&pbs=12306&csor=3&pwd=12&cb=jQuery110208408865132022476_1508200165647&_=1508200165650");
	    	
	    }
	}

  

java調接口