java 解析GZIP 和 Deflate 网页源文件
/**
- @Author: ajin
- @Description: 解压被压缩的源码
*/
private String getPageMetaData(String uri) throws IOException {
ResponseEntity r = restTemplate.getForEntity(uri, String.class);
HttpHeaders headers = r.getHeaders();
List stringList = headers.get(“Content-Encoding”);
if (stringList.contains(“gzip”)) {
URL url = new URL(uri);
GZIPInputStream zipInputStream = new GZIPInputStream(url.openStream());
StringBuilder stringBuilder = new StringBuilder();
byte[] bytes = new byte[1024];
int l = 0;
while ((l = zipInputStream.read(bytes)) != -1) {
stringBuilder.append(new String(bytes));
}
return stringBuilder.toString();
} else if (stringList.contains(“deflate”)) {
URL url = new URL(uri);
InputStream inputStream = url.openConnection().getInputStream();
InflaterInputStream inflaterInputStream = new InflaterInputStream(inputStream,new Inflater(true));
byte[] bytes = new byte[1024];
StringBuilder stringBuilder = new StringBuilder();
int l = 0;
while ((l = inflaterInputStream.read(bytes)) != -1) {
stringBuilder.append(new String(bytes));
}
return stringBuilder.toString();
} else {
return r.getBody();
}
}
java 解析GZIP 和 Deflate 网页源文件相关推荐
- java解析网页全过程_Java网页解析
介绍 今天给大家推荐一款最好的网页解析类库-HtmlCleaner.至少是目前为止最好的Java解析库. 与HtmlCleaner结缘是在年初的时候,因为一项工作需要解析Html页面,所以我在网上遍寻 ...
- Java解析Rss(三)
2019独角兽企业重金招聘Python工程师标准>>> package com.ninemax.application.rss;import java.net.URL; import ...
- java解析Excel文件
下文介绍java解析Excel文件的方案 前置准备 1.第三方jar包或者Maven配置 org.apache.poi的jar包 Maven配置如下 <groupId>org.apache ...
- java 解析器_高性能Java解析器实现过程详解
如果你没有指定数据或语言标准的或开源的Java解析器, 可能经常要用Java实现你自己的数据或语言解析器.或者,可能有很多解析器可选,但是要么太慢,要么太耗内存,或者没有你需要的特定功能.或者开源解析 ...
- gzip and deflate
Gzip/deflate 解码 一般的 http 网页在传输时为了减少流量加快传输速度,都会对数据进行压缩,压缩方式一般有 gzip 和 deflate 两种方式. gzip 的解压方式如下: i ...
- gzip 与 deflate :gzip算法原理深入分析
gzip 与 deflate :gzip算法原理深入分析 gzip 与 deflate :gzip算法原理深入分析 - gzip 与 deflate :gzip算法原理深入分析 [复制链接] ...
- httpClient的get请求 请求头gzip和deflate的乱码解决方案
利用httpClient下载页面,先利用浏览器查询页面源代码得知页面编码为utf-8,但生成字符串后总是为乱码,经过查询得知,在设置httpGet参数时,设置了接受压缩类型为Gzip,但却没有对其进行 ...
- Java解析eml邮件格式文件
基本介绍 关于邮件的需求总是以邮件发送或接收为主,之前涉及的技术选型有Java Mail.Apache Commons Email.Spring Mail,由于工作上的需要对eml格式的文件进行解析, ...
- Web服务器处理HTTP压缩之gzip、deflate压缩
一.什么是gzip gzip是一种数据格式,默认且目前仅使用deflate算法压缩data部分: Gzip是一种流行的文件压缩算法,现在的应用十分广泛,尤其是在Linux平台.当应用Gzip压 ...
- gzip和deflate的区别
我们在配置网站GZip压缩的时候,会发现有两个模块可以设置的,一个是GZip模块的参数配置,另一个是Deflate模块的参数配置,他们的设置方法是一样的.刚开始时我不太明白,这两地方有什么不同?网站开 ...
最新文章
- Logback学习笔记1
- php 判断字符是否是数字_php判断输入是否是纯数字,英文,汉字的方法
- python菜鸟基础教程-终于懂得python入门菜鸟教程
- DeepLab v2的摘要部分(翻译加理解)
- scrollBy与scrollTo的区别与用法
- EMOS 如何停止反病毒和防垃圾邮件功能
- Oracle入门(五F)之11g show spparameter 命令的使用
- socket 编程篇六之IPO多路复用-select poll epoll
- Android小項目之---吃飯選哪?--》選擇對話框(附源碼)
- 官宣!“一流大学”,异地落户!
- java应用程序多态_java – 多态和n层应用程序
- 高薪、稀缺人才必备哪些技能?BDTC大会告诉你,附最新议程!
- OpenCV学习笔记(九) 重映射、仿射变换
- React:引入echarts绘制图表
- Kibana将语言设置为中文
- JAVA获取sjis文件乱码_下载文件时,文件名乱码。 | 学步园
- java源码编译指令
- PDF打开后出现中文乱码情况
- 推荐一个去广告的插件: Adblock Plus,非常好用
- qlikview连接mysql_QlikView安装
热门文章
- Java SSM 项目实战 day08 方法级别的权限操作 服务器端的权限控制(JSR-250注解)(支持表达式的注解)(@Secured)以及页面端的权限控制
- 分库分表之MyCat应用
- 根轨迹 matlab 怎么画一半儿,现有 1020 个西瓜,第一天卖一半多两个,以后每天都卖剩下的一半多两个,编程计算几天后能把所有西瓜都卖完? 请编程实现_学小易找答案...
- 详解Linux与Unix系统的区别与联系
- 熊孩子说“你没看过奥特曼”,赶紧用Python学习一下,没想到
- 怎么下载jQuery文件
- 手码-在U-boot SPL 移植新的PMIC芯片驱动
- 【java】列表导出excel(支持单元格内容换行展示)
- DNS域名解析错误解决
- 计算机专业29岁研究生毕业,26岁,你还会考研吗?毕业后都奔三了!_计算机考研科目...