java - 获取 HttpURLConnection.getInputStream() 的内容类型
问题描述
我在使用 HttpUrlConnection 时遇到问题。我在多台服务器上工作。有些服务器以 gzip 编码发送响应,有些则不发送。对于 gzip 编码,我正在使用
inputStream = new GZIPInputStream(connection.getInputStream());
inputStreamReader = new InputStreamReader(inputStream);
对于普通编码,我正在使用
inputStreamReader = new InputStreamReader(connection.getInputStream());
是否可以知道 getInputStream 的编码,以便我事先知道是否使用GZIPInputStream
. 或者是否有用于压缩和未压缩的通用输入流阅读器。谢谢。
解决方案
从HttpURLConnection
using获取内容编码getContentEncoding()
。
它是 gzip 编码的,调用的结果应该是gzip
,然后你就知道你需要创建什么类型的输入流了。
推荐阅读
- spfx - 将 SPFX 扩展部署到多个站点集合
- graph-theory - 查找两组节点之间的路径
- vba - 非易失性评估
- php - 我无法更新插件。它询问FTP详细信息。我的网站在 AWS
- javascript - 如何使用three.js计算对象的内部边界框
- pytest - 从 pytest-django 使用客户端时如何设置请求
- octobercms - 如何从 OctoberCMS 插件中的事件处理程序重定向?
- python - 如何修复 Seaborn 中的“OSError:从文件初始化失败”错误?
- unity3d - 无法在 Unity 中初始化 Crashlytics/Fabric
- datetime - 如何获取 DateTime.Now ,从偏移量开始