调用外网接口记录

项目需要跟其他公司接口联调,记录实现的过程,上代码:

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 "调用接口失败";
}
}

结束!
posted @ 2020-11-20 13:47  老婆爱榴莲  阅读(129)  评论(0)    收藏  举报