gzip格式解压缩

有时候网络请求中会出现gzip格式的数据,而我们无法通过常规办法进行解析:

这时候可以使用下面的这个工具来解决这个问题:

https://github.com/mattt/Godzippa

注意,使用的时候需要引入一个lib:

本人写好的示例代码:

https://github.com/YouXianMing/GZipDataCompression

//
//  ViewController.m
//  GZipDataCompression
//
//  Created by YouXianMing on 16/3/12.
//  Copyright © 2016年 YouXianMing. All rights reserved.
//

#import "ViewController.h"
#import "Godzippa.h"
#import "NSData+JSONData.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {

    [super viewDidLoad];

    // https://github.com/mattt/Godzippa

    /*
     Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable content-type: application/x-gzip" UserInfo={com.alamofire.serialization.response.error.response=<NSHTTPURLResponse: 0x7fd8f25293e0>{ status code: 200, headers {
     Date = "Sat, 12 Mar 2016 03:48:00 GMT";
     Server = "Apache-Coyote/1.1";
     "Transfer-Encoding" = Identity;
     } }, com.alamofire.serialization.response.error.data=<1f8b0800 00000000 0000ab56 4ace4f49 55b2520a 08720d34 30303054 d2514a49 2c4954b2 aaaed551 ca2d4e07 4a3ded6f 7a367543 746671ee f33dd39e f66f8f7d b2a3f745 f3de273b 763d5fb9 0ba8bea4 b2006482 9b522d00 1076388e 4e000000>, NSLocalizedDescription=Request failed: unacceptable content-type: application/x-gzip}
     */

    NSURL  *fileURL  = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"GZipData" ofType:nil]];
    NSData *GZipData = [NSData dataWithContentsOfURL:fileURL];
    NSLog(@"%@ %@", GZipData, [GZipData toListProperty]);

    NSData *decompressingData = [GZipData dataByGZipDecompressingDataWithError:nil];
    NSLog(@"%@ %@", decompressingData, [decompressingData toListProperty]);
}

@end
时间: 2024-10-13 22:30:20

gzip格式解压缩的相关文章

2.1-tar打包和压缩的并用

tar 支持gzip.bzip2.xz三种格式压缩 tar -zcvf 1.tar.gz 111 222             以gzip格式打包压缩 tar -zxvf 1.tar.gz                     以gzip格式解压缩文件 tar -C /tmp -zxvf 1.tar.gz             以gzip格式解压缩文件到指定目录 tar -tf 1.tar.gz                       查看打包压缩文件的内容列表 tar -jcvf 1

命令-gzip/gunzip/zcat

gzip/gunzip/zcat 命令 [NAME] gzip, gunzip, zcat - compress or expand files [SYNOPSIS] gzip  [OPTION]...  FILE... [OPTIONS] -d:解压缩,相当于gunzip: -#:指定压缩比,默认是6:数字越大压缩比越大(1-9): -c:将压缩结果输出至标准输出: gzip  -c  FILE > /PATH/TO/SOMEFILE.gz [EXAMPLES] 示例: [[email pro

GZIP 头解析

在用HttpWebRequest对象时,一般我们都没有开启gzip压缩,如果服务端返回的数据比较大,这是我们需要开启gzip压缩,怎么开启呢? 1.给HttpWebRequest对象,添加如下Header: request.Headers.Add("Accept-Encoding", "gzip"); 2.对接收到的流进行解码: private string GetResponseBody(HttpWebResponse response) { string res

varnish 4.0强制gzip压缩

如果源服务器没有开启gzip, 那么无论客户端是否支持,默认情况下得到的结果总是不压缩的. 源服务器未启用gzip的情况,强制将取到的内容gzip压缩后存入缓存,然后客户端就可以得到gzip压缩结果,配置代码片段: sub vcl_backend_response { if (beresp.http.content-type ~ "(text|javascript|txt)" ) { set beresp.do_gzip = true; } varnish 4.0默认是接收压缩内容的,

linux命令--gzip命令

gzip是linux上用来压缩的命令 其中有个num的参数 -num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比).系统缺省值为6. 例子1 压缩所有文件 gzip * 例子2 解压所有文件 gzip -d * 例子3 递归的压缩一个目录,-v是显示详细信息 gzip -rv test6 例子4 递归的解压一个目录 gzip -rd test6

Tomcat 开启Gzip压缩

近日,项目尾声对服务器进行优化配置. 今天记录一下tomcat开启Gzip压缩过程,方法很简单.但是网上有些教程大体没有问题.但是细节有些问题. 配置如下: 在tomcat/conf/server.xml中,找到如下: <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 修改为: &l

IIS6.0 开启Gzip与PHP Gzip

因为在做一个项目,项目里面服务器主要提供数据,但是数据多了文件就大了,比较浪费流量和时间,我们便用Gzip来处理.我在本机上是apache,服务器上是IIS6.0,用的是php,那么我就在这里分享一下. IIS 的 GZIP 压缩                                                                         1.首先备份 IIS 的配置文件, 复制 C:\Windows\system32\inetsrv\metabase.xml到

VB6解压GZIP和C#解压GZIP

VB进行GZIP解压的,DLL是系统的,如果没有点击这里下载 1 Option Explicit 2 'GZIP API 3 '-------------------------------------------------- 4 Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length A

加压压缩文件报错gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now

压缩包是直接weget 后面加官网上的tar包地址获取的 [[email protected] ~]# tar -zxvf /home/hadoop/hadoop-2.6.5-src.tar.gz gzip: stdin: not in gzip formattar: Child returned status 1tar: Error is not recoverable: exiting now[[email protected] ~]# tar -xvf /home/hadoop/hadoo