首页 > 代码库 > http请求数据封装
http请求数据封装
package com.wdm.utils; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class HttpClientUtils { private static Logger LOGGER = LoggerFactory.getLogger(HttpClientUtils.class); private static int CONNECT_TIME_OUT = 1000; private static int READ_TIME_OUT = 1000; private static byte[] BUFFER = new byte[1024]; public static final String DEFAULT_CHARSET = "UTF-8"; public static String get(String url) { return get(url, null, DEFAULT_CHARSET); } public static String get(String url, String charset) { return get(url, null, charset); } public static String get(String url, Map<String, String> header, String charset) { return get(url, header, charset, CONNECT_TIME_OUT, READ_TIME_OUT); } public static String get(String url, Map<String, String> header, String charset, int connectTimeout, int readTimeout) { String result = ""; try { HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(); connection.setUseCaches(false); connection.setConnectTimeout(connectTimeout); connection.setReadTimeout(readTimeout); if (header != null) { for (Map.Entry<String, String> entry : header.entrySet()) { connection.setRequestProperty(entry.getKey(), entry.getValue()); } } ByteArrayOutputStream out = new ByteArrayOutputStream(); int responseCode = connection.getResponseCode(); if (responseCode < HttpURLConnection.HTTP_BAD_REQUEST) { InputStream is = connection.getInputStream(); int readCount; while ((readCount = is.read(BUFFER)) > 0) { out.write(BUFFER, 0, readCount); } is.close(); } else { LOGGER.warn("{} http response code is {}", url, responseCode); } connection.disconnect(); result = out.toString(); } catch (IOException e) { LOGGER.error("{}", e.getMessage(), e); } return result; } public static String post(String url, Map<String, String> params) { return post(url, params, DEFAULT_CHARSET); } public static String post(String url, Map<String, String> params, String charset) { return post(url, params, null, charset); } public static String post(String url, Map<String, String> params, Map<String, String> header, String charset) { return post(url, params, header, charset, CONNECT_TIME_OUT, READ_TIME_OUT); } public static String post(String url, Map<String, String> params, Map<String, String> header, String charset, int connectTimeout, int readTimeout) { String result = ""; try { HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(); connection.setRequestMethod("POST"); connection.setDoOutput(true); connection.setUseCaches(false); connection.setConnectTimeout(connectTimeout); connection.setReadTimeout(readTimeout); if (header != null) { for (Map.Entry<String, String> entry : header.entrySet()) { connection.setRequestProperty(entry.getKey(), entry.getValue()); } } StringBuilder builder = new StringBuilder(); if (params != null) { for (Map.Entry<String, String> entry : params.entrySet()) { builder.append(entry.getKey()); builder.append("="); builder.append(entry.getValue()); builder.append("&"); } } OutputStream out = connection.getOutputStream(); out.write(builder.toString().getBytes(charset)); out.flush(); ByteArrayOutputStream bout = new ByteArrayOutputStream(); if (connection.getResponseCode() < HttpURLConnection.HTTP_BAD_REQUEST) { InputStream is = connection.getInputStream(); int readCount; while ((readCount = is.read(BUFFER)) > 0) { bout.write(BUFFER, 0, readCount); } is.close(); } connection.disconnect(); result = bout.toString(); } catch (IOException e) { LOGGER.error("{}", e.getMessage(), e); } return result; } }
http请求数据封装
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。