gzip格式解压缩

gzip格式解压缩

 

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

 

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

https://github.com/mattt/Godzippa

 

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

 

本人写好的示例代码:

https://github.com/YouXianMing/iOS-Utilities

//
//  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-11-03 20:04:01

gzip格式解压缩的相关文章

连接-空间中的网站怎么开启GZIP压缩

问题描述 空间中的网站怎么开启GZIP压缩 我的网站放在空间中,只能用FTP连接,我该怎么修改GZIP压缩呢? 解决方案 直接问提供你空间的运营商.你缴的费用中就包括了售后服务,不问白不问.

tar解压问题gzip: stdin: not in gzip format

如下所示,使用tar -zxvf解压文件时遇到"gzip: stdin: not in gzip format"等错误: [root@DB-Server tmp]# [root@DB-Server tmp]# tar -zxvf Percona-XtraBackup-2.2.12-r8726828-el5-x86_64-bundle.tar gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error e

IIS6和IIS7对静态文件gzip压缩方式

先说明下为什么要写这篇文章,以及纠结于这个"小问题".首先开启静态文件的gzip压缩非常有利用提高网站的访问速度,并且有效减少蜘蛛爬行静态页面的time-taken,同时也不会像开启动态文件压缩一样可能会对百度蜘蛛造成200 0 64的抓取问题,所以一方面,网站速度快有利于提高用户体验,另一方面,google管理员博客在今年已经明确表示网站速度是排名的因素之一,而对于拿国外主机做百度中文站优化,time-taken不理想会导致百度蜘蛛内页抓的少,国平之前在自己博客文章网页加载速度是如何

IIS开启GZIP压缩的方法及失败的解决方案

本文讲解了详细的IIS下配置GZIP压缩的方法,以及正确配置后,仍然无法正常开启GZIP压缩的解决方案,这些经验都是本站作者在实际操作中总结出来的,分享一下... 开启GZIP压缩有一个快捷的方法,把下面内容复制粘贴到记事本,存成gzip.bat,然后放到C:\Inetpub\AdminScripts  目录(目录内有adsutil.vbs文件),执行就自动开启GZIP的配置,而不用手工去做. [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行] 下面再介绍手工配置的方法: 1. 打开

PHP程序加速探索之压缩输出gzip

程序|压缩     利用Apache中的mod_gzip模块,我们可以利用gzip的压缩算法来对Apache服务器发布的网页内容进行压缩后再传输到客户端的浏览器.如果是纯文本的内容,效果非常明显,大约可以压缩到原来的30%-40%,使用户的浏览速度大大加快. Gzip需要客户端浏览器支持,目前大部份浏览器都支持gzip,如IE,Netscape,Mozilla等,所以这种方法值得一试.我们可以利用PHP中的预定义变量$_SERVER['HTTP_ACCEPT_ENCODING']来判断客户端浏览

php curl 中的gzip压缩性能测试

前因:        1 请求接口次数很多,每日两亿多次,主要是有些接口返回数据量很大高达110KB(为了减少请求次数,将多个接口合并成一个导致的).<br>后端接口的nginx已经开启gzip,所以做个测试,看看是否在请求时使用压缩解压       php CURL 的扩展安装这里就不说了   用到的curl的两个参数     //在http 请求头加入 gzip压缩<br>curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept-En

如何启用IIS的GZIP压缩功能来给你的网站提速

现代的浏览器IE6和Firefox都支持客户端Gzip,也就是说,在服务器上的网页,传输之前,先使用Gzip压缩再传输给客户端,客户端接收之后由浏览器解压显示,这样虽然稍微占用了一些服务器和客户端的CPU,但是换来的是更高的带宽利用率.对于纯文本来讲,压缩率是相当可观的.如果每个用户节约50%的带宽,那么你租用来的那点带宽就可以服务多一倍的客户了.   IIS6已经内建了Gzip压缩的支持,可惜,没有设置更好的管理界面.所以要打开这个选项,还要费些功夫.   首先,如果你需要压缩静态文件(HTM

JAVA下的GZIP应用

gzip是目前广泛应用的一种压缩方式,它具有很高的压缩比和压缩效率.在sun公司发布的jdk中包含了java.util.zip 包,对gzip提供了直接支持.使用java语言可以很方便的实现gzip压缩和解压缩.以下是一个压缩和解压缩的最简程序. (压缩:gzip.java) import java.io.*; import java.util.zip.*; public class gzip { public static void main(String[] args) { if (args

ASP.NET技巧:用GZip压缩和解压

asp.net|技巧|压缩 .Net支持两种压缩格式:GZip和Deflate.我试了一下,压缩率和速度没区别.其中,GZip可以被WinRAR打开. 使用起来很简单,下面的程序将字符串压缩入文件:                 using (DeflateStream gzip = new DeflateStream(fs, CompressionMode.Compress))                {                    byte[] buf = Encoding