博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HttpURLConnection 接收网络数据出现乱码问题
阅读量:5327 次
发布时间:2019-06-14

本文共 1700 字,大约阅读时间需要 5 分钟。

由于接收的数据经过gZip处理过,所以在接受的时候也要处理,并且加上编码格式(没有会出现部分数据乱码):

具体代码实现如下:

URL ul = new URL(url);HttpURLConnection conn = (HttpURLConnection) ul.openConnection();conn.connect();InputStream in = conn.getInputStream();StringBuffer sb = new StringBuffer();String readLine = new String();GZIPInputStream gZipS=new GZIPInputStream(in);InputStreamReader res = new InputStreamReader(gZipS,"UTF-8");BufferedReader responseReader = new BufferedReader(res);while ((readLine = responseReader.readLine()) != null) {	sb.append(readLine);}responseReader.close();

 测试问题解决。。

有一点需要补充的是:在使用gZip解压数据的时候,记得关闭gZip:

String result = "";		GZIPInputStream gZipS = null;		try {			logger.debug("start getWeiboContent==url="+url);			StringBuffer sb = new StringBuffer();			String readLine = new String();			URL ul = new URL(url);			HttpURLConnection conn = (HttpURLConnection) ul.openConnection();			conn.connect();			in = conn.getInputStream();			//解析八友数据			gZipS=new GZIPInputStream(in);			InputStreamReader res = new InputStreamReader(gZipS,"UTF-8");			BufferedReader responseReader = new BufferedReader(res);			while ((readLine = responseReader.readLine()) != null) {				sb.append(readLine);			}			result = sb.toString();			responseReader.close();			res.close();			gZipS.close();			in.close();			conn.disconnect();			logger.debug("end getWeiboContent==url="+url);					} catch (Exception e) {			e.printStackTrace();		}finally{            if(gZipS!=null)            {                try {                	gZipS.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }

 gZipS.close();尤其重要,而且在一个流没有关闭的时候再次操作新的gZip会出现问题。

 

转载于:https://www.cnblogs.com/zjiacun/p/7736486.html

你可能感兴趣的文章
SuperMap iServerJava 6R扩展领域开发及压力测试---判断点在那个面内(1)
查看>>
Week03-面向对象入门
查看>>
MongoDB 状态监控、备份复制及自动分片
查看>>
《大道至简》阅读笔记一
查看>>
一个控制台程序,模拟机器人对话
查看>>
web.xml 中加载顺序
查看>>
mysql学习之安装(一)
查看>>
[数据库]关于主键与外键
查看>>
pycharm激活地址
查看>>
hdu 1207 四柱汉诺塔
查看>>
Vue 2.x + Webpack 3.x + Nodejs 多页面项目框架(上篇——纯前端多页面)
查看>>
5年内的暴风骤雨:12诱因统领软件行业大革命【转载】
查看>>
display:none与visible:hidden的区别
查看>>
我的PHP学习之路
查看>>
【题解】luogu p2340 奶牛会展
查看>>
wnmp安装配置的坑
查看>>
神奇的Scala Macro之旅(二)- 一个实例
查看>>
sicily 1128. DICE
查看>>
e.Row.Attributes.Add
查看>>
SCOPE_IDENTITY()和 SELECT @@IDENTITY 的用法
查看>>