zoukankan      html  css  js  c++  java
  • 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;
    	}
    	
    }
    

      

  • 相关阅读:
    Silverlight 调用GP服务第一篇之发布GP服务(Geoprocessing Service)
    SQLServer中char、varchar、nchar、nvarchar的区别:
    word中带圈符号如何手动输入
    js中循环for
    正则表达式总结
    SQL Server 2008 数据库 不允许保存修改。
    多线程三种锁Monitor,lock,Mutex
    Lambda和Linq的用法
    RowDeleting和RowDeleted区别
    ASP.NET中aspx.cs页面代码中的换行方法
  • 原文地址:https://www.cnblogs.com/lichangyunnianxue/p/9933711.html
Copyright © 2011-2022 走看看