- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
当我使用GZIPInputStream压缩从Internet获取的字节时,程序运行错误如下:
05-08 17:37:02.465: W/System.err(744): java.io.IOException: unknown format (magic number 213c)
05-08 17:37:02.465: W/System.err(744): at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:84)
05-08 17:37:02.465: W/System.err(744): at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:64)
05-08 17:37:02.475: W/System.err(744): at com.Android.Sample.TestActivity.onCreate(TestActivity.java:54)
05-08 17:37:02.475: W/System.err(744): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-08 17:37:02.475: W/System.err(744): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
05-08 17:37:02.475: W/System.err(744): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
05-08 17:37:02.475: W/System.err(744): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
05-08 17:37:02.475: W/System.err(744): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
05-08 17:37:02.475: W/System.err(744): at android.os.Handler.dispatchMessage(Handler.java:99)
05-08 17:37:02.475: W/System.err(744): at android.os.Looper.loop(Looper.java:123)
05-08 17:37:02.475: W/System.err(744): at android.app.ActivityThread.main(ActivityThread.java:3683)
05-08 17:37:02.475: W/System.err(744): at java.lang.reflect.Method.invokeNative(Native Method)
05-08 17:37:02.475: W/System.err(744): at java.lang.reflect.Method.invoke(Method.java:507)
05-08 17:37:02.475: W/System.err(744): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-08 17:37:02.475: W/System.err(744): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-08 17:37:02.486: W/System.err(744): at dalvik.system.NativeStart.main(Native Method)
我的代码如下:
HttpGet request = new HttpGet("http://www.google.com");
HttpResponse response = new DefaultHttpClient().execute(request);
HttpEntity entity = response.getEntity();
InputStream stream = entity.getContent();
InputStream zippedStream = new GZIPInputStream(stream);
InputStreamReader reader = new InputStreamReader(zippedStream);
BufferedReader buffer = new BufferedReader(reader);
如果我只是使用
InputStreamReader reader = new InputStreamReader(stream);
不要压缩流,它会好的。
最佳答案
您必须在接收输入流之前检查Content-Encoding。如果响应以 GZIP 编码,请使用 GZIPInputStream .这是我在 API call 中使用的解决方案.
InputStream responseStream = null;
...
// receive response
String encoding = connection.getHeaderField("Content-Encoding");
boolean gzipped = encoding!=null && encoding.toLowerCase().contains("gzip");
try
{
InputStream inputStream = connection.getInputStream();
if(gzipped) responseStream = new BufferedInputStream(new GZIPInputStream(inputStream));
else responseStream = new BufferedInputStream(inputStream);
}
catch(FileNotFoundException e)
{
// error stream
InputStream errorStream = connection.getErrorStream();
if(gzipped) responseStream = new BufferedInputStream(new GZIPInputStream(errorStream));
else responseStream = new BufferedInputStream(errorStream);
}
...
// TODO: close stream
关于android - GZIPInputStream 抛出未知格式(魔数(Magic Number) 213c),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10503782/
谷歌搜索后,我发现可以使用魔数(Magic Number)来识别文件的内容类型。 在我的程序中,我想在服务器端验证文件内容类型。 我的客户端代码: function readF
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 6年前关闭。 Improve this questi
我在 Sonar 上收到此警告,认为这是违规行为。我需要适当的解决方案来从声纳中删除此警告。 我的代码是这样的: void method(){ try { int x; x=5; } ca
Cardano CLI 中有很多教程使用 --testnet-magic 3或 --testnet-magic 4在读取地址中的值、类型转换原生代币等过程中。但是他们都没有详细解释魔数(Magic N
我正在尝试编译“su” super 用户实用程序的修改版本,所以我在 git 上访问了 android5.0 源代码,并获得了“su.c”文件。 我的实际设备/硬件是乐视 x500 手机运行: And
我正在尝试编辑一些使用 python-magic 的代码,但出现导入错误:没有名为 magic 的模块。在我浏览互联网并找到有关使用我所做的 pip 安装 python-magic 的建议之前。我使用
您好,我正在尝试运行 python manage.py runserver 命令,但收到此错误消息 File "C:\Users\adrie\Anaconda3\lib\sre_compile.py"
我有这样一个函数: float_as_thousands_str_with_precision(value, precision) 如果我这样使用它: float_as_thousands_str_w
我有一个可以改变颜色的渐变,我希望其中的文本始终可见。 如果有任何开箱即用的资源,我宁愿动态地进行;我想要一个可以取消颜色的“魔笔”。 有什么实验吗? 最佳答案 Joel 对于如何对齐渐变画笔给出了很
Eclipse 生成的主细节流程在扩展 ListFragment 的类中有一些回调魔法 - 我说魔法是因为当你是 Android 和 Java 菜鸟时,它看起来就像是同时: ) 鉴于下面的代码,有人可
嗯,不完全是这样,但这里有一个例子。谁能解释一下B和C的区别?使用魔术函数动态设置值而不是简单地在属性定义中设置值如何更快? 这是一些代码: [root@vm-202-167-238-17 ~]# c
特地查看了下手册,关于php magic quotes,常见的几个设置如下,magic_quotes_gpc,magic_quotes_sybase,magic_quote_runtim
考虑这个类的安排 - 特别是魔术函数 __invoke: class Barman { public function __construct() { // .. .cons
是否可以在 Databricks 中导出“魔术 SQL”命令单元的输出? 我喜欢这样一个事实,即不必转义 SQL 命令,并且可以轻松地对其进行格式化。但是,我似乎无法在其他单元格中使用输出。我想要做的
我有来自 UploadedFile 按钮的文件,我想使用魔数(Magic Number)打印扩展文件, 我的代码: UploadedFile file = (UploadedFile)valueCha
我正在从头开始设计二进制文件格式,我想在开头包含一些魔术字节,以便可以轻松识别。我该如何选择哪些字节?我不知道任何魔数(Magic Number)的中央注册表,所以这只是选择一些尚未由附近 UNIX
问题:在 SQL 脚本或存储过程中避免魔数(Magic Number)或硬编码值的其他策略是什么? 考虑一个存储过程,它的工作是根据记录的StatusID 检查/更新记录的值。或其他一些 FK 查找表
我正在尝试使用Javascript的CryptoJS加密消息,如下所示: const encrypted_payload = CryptoJS.AES.encrypt("Hello, world!",
我使用“非常神奇”的正则表达式搜索(即/\v 或 %s/\v),但我希望我可以设置一些选项,这样我就不必再在任何地方包含\v 了。有办法做到这一点吗? 最佳答案 不是直接使用,但是您始终可以使用映射:
在哪里可以找到 Scala 的“神奇”函数列表,例如 apply、unapply、update、+= 等? 我所说的魔法函数是指编译器的某些语法糖使用的函数,例如 o.update(x,y) o(x
我是一名优秀的程序员,十分优秀!