http的方式调用接口
生活随笔
收集整理的這篇文章主要介紹了
http的方式调用接口
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
調(diào)用接口的方式很多,可以使用cxf框架等,單最簡單的是用http,廢話不多說,代碼如下:
public static String sendPost(String url, String param) {OutputStreamWriter out = null;BufferedReader in = null;String result = "";try {URL realUrl = new URL(url);HttpURLConnection conn = null;conn = (HttpURLConnection) realUrl.openConnection();// 打開和URL之間的連接// 發(fā)送POST請(qǐng)求必須設(shè)置如下兩行conn.setRequestMethod("POST"); // POST方法conn.setDoOutput(true);conn.setDoInput(true);// 設(shè)置通用的請(qǐng)求屬性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("Content-Type", "application/json");conn.connect();out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");// 獲取URLConnection對(duì)象對(duì)應(yīng)的輸出流out.write(param);// 發(fā)送請(qǐng)求參數(shù)out.flush();// flush輸出流的緩沖in = new BufferedReader(new InputStreamReader(conn.getInputStream()));//定義BufferedReader輸入流來讀取URL的響應(yīng)String line;while ((line = in.readLine()) != null) {result += line;System.out.println("OK");}} catch (Exception e) {System.out.println("發(fā)送 POST 請(qǐng)求出現(xiàn)異常!"+e);e.printStackTrace();}//使用finally塊來關(guān)閉輸出流、輸入流finally{try{if(out!=null){out.close();}if(in!=null){in.close();}}catch(IOException ex){ex.printStackTrace();}}return result;public static String sendPost(String url, String param) {OutputStreamWriter out = null;BufferedReader in = null;String result = "";String sessionId = null;try {HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();sessionId =request.getSession().getId();}catch (Exception ex){ex.printStackTrace();}try {URL realUrl = new URL(url);HttpURLConnection conn = null;conn = (HttpURLConnection) realUrl.openConnection();// 打開和URL之間的連接// 發(fā)送POST請(qǐng)求必須設(shè)置如下兩行conn.setRequestMethod("POST"); // POST方法conn.setDoOutput(true);conn.setDoInput(true);// 設(shè)置通用的請(qǐng)求屬性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("Content-Type", "application/json");if(!StringUtils.isEmpty(sessionId)){conn.setRequestProperty("Cookie", sessionId);}conn.connect();out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");// 獲取URLConnection對(duì)象對(duì)應(yīng)的輸出流out.write(param);// 發(fā)送請(qǐng)求參數(shù)out.flush();// flush輸出流的緩沖in = new BufferedReader(new InputStreamReader(conn.getInputStream()));//定義BufferedReader輸入流來讀取URL的響應(yīng)String line;while ((line = in.readLine()) != null) {result += line;System.out.println("OK");}} catch (Exception e) {System.out.println("發(fā)送 POST 請(qǐng)求出現(xiàn)異常!"+e);e.printStackTrace();}//使用finally塊來關(guān)閉輸出流、輸入流finally{try{if(out!=null){out.close();}if(in!=null){in.close();}}catch(IOException ex){ex.printStackTrace();}}return result.replaceAll("\\\\\\\"","");}
總結(jié)
以上是生活随笔為你收集整理的http的方式调用接口的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux环境下解决字体乱码的问题
- 下一篇: spring项目中加载配置文件