http请求操作工具类

public class HttpUtil {

   /**
    * 发送GET请求
    *
    * @param requestUrl 请求的URL地址
    * @param charSetName 字符编码
    * @return
    */
   public static Object getRequest(String requestUrl, String charSetName) {
      String res = "";
      StringBuffer buffer = new StringBuffer();
      try {
         URL url = new URL(requestUrl);
         HttpURLConnection urlCon = (HttpURLConnection) url.openConnection();
         if (200 == urlCon.getResponseCode()) {
            InputStream is = urlCon.getInputStream();
            InputStreamReader isr = new InputStreamReader(is, charSetName);
            BufferedReader br = new BufferedReader(isr);
            String str = null;
            while ((str = br.readLine()) != null) {
               buffer.append(str);
            }
            br.close();
            isr.close();
            is.close();
            res = buffer.toString();
            return res;
         } else {
            throw new Exception("连接失败");
         }
      } catch (Exception e) {
         log.error(e.getMessage());
      }
      return null;
   }

   /**
    * 发送POST请求
    *
    * @param path 请求的URL地址
    * @param post 请求的参数  param1=value1&param2=value2
    * @return
    */
   public static Object postRequest(String path, String post) {
      URL url = null;
      try {
         url = new URL(path);
         HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
         // 提交模式
         httpURLConnection.setRequestMethod("POST");
         //连接超时 单位毫秒
         httpURLConnection.setConnectTimeout(10000);
         //读取超时 单位毫秒
         httpURLConnection.setReadTimeout(2000);
         // 发送POST请求必须设置如下两行
         httpURLConnection.setDoOutput(true);
         httpURLConnection.setDoInput(true);
         // 获取URLConnection对象对应的输出流
         PrintWriter printWriter = new PrintWriter(httpURLConnection.getOutputStream());
         // 发送请求参数
         //post的参数 xx=xx&yy=yy
         printWriter.write(post);
         // flush输出流的缓冲
         printWriter.flush();
         //开始获取数据
         BufferedInputStream bis = new BufferedInputStream(httpURLConnection.getInputStream());
         ByteArrayOutputStream bos = new ByteArrayOutputStream();
         int len;
         byte[] arr = new byte[1024];
         while ((len = bis.read(arr)) != -1) {
            bos.write(arr, 0, len);
            bos.flush();
         }
         bos.close();

         return bos.toString("utf-8");
      } catch (Exception e) {
         log.error(e.getMessage());
      }
      return null;
   }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值