http工具类

工具类

import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Map;

import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang.StringUtils;

public class HttpUtil {

	/**
	 * 建立连接
	 * 
	 * @param uri
	 * @param connectTimeout
	 * @param readTimeout
	 * @param params
	 * @return
	 * @throws Exception
	 */
	public static HttpURLConnection createPostHttpConn(String uri, int connectTimeout, int readTimeout,
			Map<String, String> params) throws Exception {
		URL url = new URL(uri);
		HttpURLConnection conn = (HttpURLConnection) url.openConnection();
		conn.setUseCaches(false);
		conn.setDoInput(true);
		conn.setDoOutput(true);
		conn.setRequestMethod("POST");
		conn.setInstanceFollowRedirects(true);
		conn.setConnectTimeout(connectTimeout);
		conn.setReadTimeout(readTimeout);
		if (MapUtils.isNotEmpty(params)) {
			for (Map.Entry<String, String> entry : params.entrySet()) {
				if (StringUtils.isNotBlank(entry.getKey()) && StringUtils.isNotBlank(entry.getValue())) {
					conn.setRequestProperty(entry.getKey(), entry.getValue());
				}
			}
		}
		return conn;
	}

	/**
	 * 设置post参数
	 * 
	 * @param conn
	 * @param str
	 * @throws IOException
	 */
	public static void setBodyParameter(HttpURLConnection conn, String str) throws IOException {
		DataOutputStream out = new DataOutputStream(conn.getOutputStream());
		out.writeBytes(str);
		out.flush();
		out.close();
	}

	/**
	 * 返回响应结果
	 * @param conn
	 * @return
	 * @throws Exception
	 */
	public static String returnResultStr(HttpURLConnection conn) throws Exception {
		String result = null;
		InputStream input = null;
		if (conn.getResponseCode() == 200) {
			input = conn.getInputStream();
		} else {
			input = conn.getErrorStream();
		}
		result = new String(readInputStream(input));
		return result;
	}

	private static byte[] readInputStream(InputStream inStream) throws Exception {
		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
		byte[] buffer = new byte[1024];
		int len = 0;
		while ((len = inStream.read(buffer)) != -1) {
			outStream.write(buffer, 0, len);
		}
		byte[] data = outStream.toByteArray();
		outStream.close();
		inStream.close();
		return data;
	}
	
	public static String out(String fileName) throws Exception {
		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
		FileInputStream inputStream = new FileInputStream(fileName);
		int len = 0;
		byte[] buffer = new byte[1024];
		while((len =  inputStream.read(buffer)) != -1) {
			outStream.write(buffer, 0, len);
		}
		String result = outStream.toString().trim();
		outStream.close();
		inputStream.close();
		return result;
	}
	
}

  

原文地址:https://www.cnblogs.com/lichangyunnianxue/p/9933711.html