欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

http请求解压,解压方法

程序员文章站 2023-12-29 11:57:10
...

解压:

 

public static String analyzeGetGzip(String url,String param) throws Exception{
		String result = "";
        BufferedReader in = null;
        try {
            String urlNameString = url + "?" + param;
            URL realUrl = new URL(urlNameString);
            // 打开和URL之间的连接
            URLConnection connection = realUrl.openConnection();
            // 设置通用的请求属性
            connection.setRequestProperty("accept", "*/*");
            connection.setRequestProperty("connection", "Keep-Alive");
            connection.setRequestProperty("Pragma", "no-cache");
            connection.setConnectTimeout(5000);
            // 建立实际的连接
            connection.connect();
            // 获取所有响应头字段
            Map<String, List<String>> map = connection.getHeaderFields();
            InputStream urlStream = new GZIPInputStream(connection.getInputStream());
            // 定义 BufferedReader输入流来读取URL的响应
            in = new BufferedReader(new InputStreamReader(urlStream));
            String line;
            while ((line = in.readLine()) != null) {
                result += line;
            }
        } catch (Exception e) {
        	e.printStackTrace();
        } finally {
            try {
                if (in != null) {
                    in.close();
                }
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
        return result;
	}

 

压缩方法:

public static void responseXmlWithGzip(HttpServletResponse response, String docXML){
       
		try {
		       ByteArrayOutputStream bout = new ByteArrayOutputStream();   
		       GZIPOutputStream gzip = new GZIPOutputStream(bout);   
		       gzip.write(docXML.getBytes("UTF-8"));   
		       gzip.flush();   
		       gzip.close();   
		       byte[] buf = bout.toByteArray();    
	           
		         
		    //服务器传回数据的类型和长度   
			response.setHeader("Cache-Control", "no-cache");
			response.setHeader("Content-Encoding","gzip");
			response.setHeader("Content_Length",buf.length+"");  
			response.getOutputStream().write(buf);
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}   
	}

 

 

上一篇:

下一篇: