1. 程式人生 > 實用技巧 >呼叫外網介面記錄

呼叫外網介面記錄

專案需要跟其他公司介面聯調,記錄實現的過程,上程式碼:

public String callW(String data){
    //data為需要傳的引數 例:“name=zhangsan”
try {
String path = "http://{ip}:{port}/aa/bb
        URL url = new URL(path);
        //建立與給定url的連線
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
PrintWriter out = null;
conn.setRequestMethod("POST");//請求方式
//設定通用的請求屬性
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.setDoOutput(true);
conn.setDoInput(true);
out = new PrintWriter(conn.getOutputStream());
//傳送請求引數即資料 注意 post方式需放在正文中 get方式則可以放在url後面拼接
out.print(data);
//緩衝資料
out.flush();
//獲取URLConnection物件對應的輸入流
InputStream is = conn.getInputStream();
//構造一個字元流快取
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String str = "";
while ((str = br.readLine()) != null) {
System.out.println(str);
}
//關閉流
is.close();
//斷開連線,最好寫上,disconnect是在底層tcp socket連結空閒時才切斷。如果正在被其他執行緒使用就不切斷。
//固定多執行緒的話,如果不disconnect,連結會增多,直到收發不出資訊。寫上disconnect後正常一些。
conn.disconnect();
System.out.println("完整結束");
return str;
} catch (Exception e) {
e.printStackTrace();
return "呼叫介面失敗";
}
}

結束!