zoukankan      html  css  js  c++  java
  • HttpClient调用RestFul接口(post和get方式)


    /**
    * @version V1.0
    * @Description 调用http接口工具类
    * @Author pc
    * @Date 2018/3/2 11:03
    */
    public class HttpServiceUtil {
    /**
    * 接口调用(post请求) 数据处理
    *
    * @param url
    * 请求路径 例如:http://127.0.0.1:8080/test/test
    * @param param
    * 请求参数 例如:{ "userName":"Lily", "password":"123456" }
    * @return 响应数据 例如:{ "resultId":"1" "resultMsg":"操作成功" }
    */
    public static String insureResponsePost(String url, String param) {
    PrintWriter out = null;
    InputStream is = null;
    BufferedReader br = null;
    String result = "";
    HttpURLConnection conn = null;
    StringBuffer strBuffer = new StringBuffer();
    try {
    URL realUrl = new URL(url);
    conn = (HttpURLConnection) realUrl.openConnection();
    // 设置通用的请求属性
    conn.setRequestMethod( "POST");
    conn.setConnectTimeout(20000);
    conn.setReadTimeout(300000);
    conn.setRequestProperty("Charset", "UTF-8");
           // 传输数据为json,如果为其他格式可以进行修改
    conn.setRequestProperty( "Content-Type", "application/json");
    conn.setRequestProperty( "Content-Encoding", "utf-8");
    // 发送POST请求必须设置如下两行
    conn.setDoOutput( true);
    conn.setDoInput( true);
    conn.setUseCaches( false);
    // 获取URLConnection对象对应的输出流
    out = new PrintWriter(conn.getOutputStream());
    // 发送请求参数
    out.print(param);
    // flush输出流的缓冲
    out.flush();
    is = conn.getInputStream();
    br = new BufferedReader( new InputStreamReader(is));
    String line = null;
    while ((line=br.readLine())!= null) {
    strBuffer.append(line);
    }
    result = strBuffer.toString();
    } catch (Exception e) {
    System. out.println( "发送 POST 请求出现异常!" + e);
    e.printStackTrace();
    }
    // 使用finally块来关闭输出流、输入流
    finally {
    try {
    if (out != null) {
    out.close();
    }
    if (br != null) {
    br.close();
    }
    if (conn!= null) {
    conn.disconnect();
    }
    } catch (IOException ex) {
    ex.printStackTrace();
    }
    }
    return result;
    }

    /**
    * Http接口调用(get请求) 数据处理
    * @param url 请求地址 例如:http://127.0.0.1:8080/test/test?username=zhangsan$username=123456
         * @return
    */
        public static String insureResponseBlockGet(String url) {
    PrintWriter out = null;
    String result = "";
    HttpURLConnection conn = null;
    InputStream is = null;
    BufferedReader br = null;
    StringBuffer strBuffer = new StringBuffer();
    try {
    URL realUrl = new URL(url);
    // 打开和URL之间的连接
    conn = (HttpURLConnection) realUrl.openConnection();
    // 设置通用的请求属性
    conn.setRequestMethod("GET");
    conn.setConnectTimeout(20000);
    conn.setReadTimeout(300000);
           // 传输数据为json,如果为其他格式可以进行修改
    conn.setRequestProperty("Content-Type", "application/json");
    is = conn.getInputStream();
    br = new BufferedReader( new InputStreamReader(is));
    String line = null;
    while ((line=br.readLine())!= null) {
    strBuffer.append(line);
    }
    result = strBuffer.toString();
    } catch (Exception e) {
    System.out.println( "发送 GET请求出现异常!" + e);
    e.printStackTrace();
    }
    // 使用finally块来关闭输出流、输入流
    finally {
    try {
    if (out != null) {
    out.close();
    }
    if (br != null) {
    br.close();
    }
    if (conn != null) {
    conn.disconnect();
    }
    } catch (IOException ex) {
    ex.printStackTrace();
    }
    }
    return result;
    }
    }
  • 相关阅读:
    Ad-papers
    《wifi深入了解抓包分析密码破解》
    《Linux内核分析-内核源码,写操作系统,gdb,系统调用》
    《C/C++ 高级开发 与Linux内核源码探析 提高班(王保明老师)【2】》
    《C/C++ 高级开发 与Linux内核源码探析 提高班(王保明老师)》
    《【公开课】斯坦福李飞飞教授最新cs231n计算机视觉经典课程》
    Tensorflow 介绍和安装
    卷积的发展历程,原理和基于 TensorFlow 的实现
    一文彻底搞懂BP算法:原理推导+数据演示+项目实战(上篇)
    基于深度学习的计算机视觉应用之目标检测
  • 原文地址:https://www.cnblogs.com/alan319/p/8512656.html
Copyright © 2011-2022 走看看