`
yy8354
  • 浏览: 80388 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

解压chunked

 
阅读更多
	//处理Transfer-Encoding="chunked"的头的压缩数据
    private static byte[] doUnchunk(byte[] writeData)
    {
    	try
    	{
	        if ((writeData == null) || (writeData.length == 0))
	        {
	            return new byte[0];
	        }
	        ByteArrayOutputStream stream1=new ByteArrayOutputStream(writeData.length);
	        int sourceIndex = 0;
	        boolean flag1 = false;
	        byte[] destinationArray = new byte[0x20];
	        while (!flag1 && (sourceIndex < (writeData.length - 3)))
	        {
	        	
	            System.arraycopy(writeData, sourceIndex, destinationArray, 0, Math.min(destinationArray.length, (int)(writeData.length - sourceIndex)));
	            String s = new String(destinationArray, 0, Math.min(destinationArray.length, (int)(writeData.length - sourceIndex)),"ASCII");
	            int length = s.indexOf("\r\n");
	            if (length > -1)
	            {
	                sourceIndex += length + 2;
	                s = s.substring(0, length);
	            }
	            else
	            {
	                return writeData;
	            }
	            length = s.indexOf(";");
	            if (length > -1)
	            {
	                s = s.substring(0, length);
	            }
	            int count = Integer.parseInt(s,515);
	            if (count == 0)
	            {
	                flag1 = true;
	                continue;
	            }
	            if (writeData.length < (count + sourceIndex))
	            {
	                return null;
	            }
	            stream1.write(writeData, sourceIndex, count);
	            sourceIndex += count + 2;
	        }
	        return stream1.toByteArray();
    	}
    	catch(Exception e)
    	{
    		e.printStackTrace();
    	}
    	return null;
    }

 

分享到:
评论

相关推荐

    对chunked编码进行解码

    一个对chunked编码进行解码的例子,通过java socket实现发送http请求,对gzip压缩的消息体进行解码处理。

    Python-基于TcpClient现实的http请求库

    普通响应是指服务器一次性发送完整响应,而chunked响应则是分块发送,每块都有大小信息,适用于大文件传输。库的实现能处理这两种响应类型,确保无论哪种情况都能正确解析。 7. **重定向处理**: 重定向是HTTP...

    renxu-webuploader_demo-master.zip

    传入配置项说明 opt={ auto:false, 是否自动上传,默认false swf:"pageContext.request.contextPath/js/Uploader.swf",swf路径ie10以下用swf上传chunked:false,是否开启分块上传,默认false,不开启分片上传chunk...

    MFC实现带压缩功能HTTP请求

    2. 分块传输:对于特别大的文件,可以使用HTTP的Chunked Transfer Coding,将大文件分成多个小块发送,以减轻服务器和网络的负担。 3. HTTP Keep-Alive:保持TCP连接持续打开,避免每次请求都建立新的连接,节省建立...

    php_manual_en.tar.gz_linux manual

    解压后,主要的文件夹是 "php-chunked-xhtml",其中包含了大量的HTML文件,这些文件以chunked形式组织,便于在线浏览和搜索引擎索引。每个HTML文件对应PHP的一个特定主题,如函数、类、常量等,方便开发者按需查阅。...

    NLTK-data 的maxnet-ne-chunker

    为了使用这个模型,用户首先需要解压文件,然后将解压后的路径添加到NLTK的数据路径中。在Python代码中,这可以通过以下方式实现: ```python import nltk nltk.data.path.append('/path/to/your/unzipped/...

    测试报告1

    如果`Transfer-Encoding`字段为`chunked`,说明数据采用分块编码,需要进行chunk数据包处理。接着,使用`zlib`库对数据进行gzip解压。在处理chunk数据和解压过程中,可能会遇到技术挑战,这部分在后续会详细讲解。 ...

    完整版近在眼前-取得网络文件尺寸&进度下载.e.rar

    此外,对于分块编码(Chunked Transfer Encoding)的响应,可能需要解析`Transfer-Encoding`字段,计算所有块的总大小。 然后是下载进度的跟踪。在下载文件时,可以使用逐块下载的方法,每接收完一个数据块就更新...

    Nginx学习笔记

    Nginx的模块化架构使其具备广泛的过滤器功能,如gzip压缩、ranges支持、chunked响应、XSLT、SSI和图像缩放等。对于包含多个SSI的页面,Nginx可以并行处理,显著提高了处理效率。此外,Nginx支持SSL/TLS、SNI(服务器...

    一个基于pushlet推送的小例子

    然后,启动Tomcat服务器,Pushlet应用就会自动解压并启动。用户可以通过浏览器访问预设的URL来体验Pushlet的推送功能。 总结来说,"一个基于pushlet推送的小例子"是一个展示如何在Tomcat服务器上利用Pushlet框架...

    最新httplib2包

    最新版本为httplib2-0.10.3,这个...解压后,你可以查看源代码,了解其内部实现,或者直接在自己的Python项目中导入并使用httplib2库。这个库对于需要频繁进行HTTP通信的Python应用程序来说,是一个强大且高效的工具。

    httplib2_0.8

    4. **压缩**:库支持自动解压服务器返回的gzip和deflate压缩内容,同时也支持发送压缩的请求。 5. **Cookie管理**:能够处理服务器发送的Set-Cookie头,并在后续请求中自动添加Cookie。 6. **SSL/TLS支持**:可以...

    图数据库neo4j的使用简明技术稿

    安装 Neo4j 非常简单,只需下载一个稳定版本,解压,运行 Neo4j.bat(windows 版本) 即可。然后可以访问 WEB 管理界面,地址:http://localhost:7474/webadmin。 Neo4j 的使用方式包括: 1. 编程方式:可以写程序...

    asp.net 上传控件

    另外,对于大文件上传,可以使用分块上传(chunked uploading)和断点续传技术,确保即使在上传过程中网络中断,也能从上次中断的地方继续上传。 至于提供的"upload"文件名,这可能是一个包含示例代码、配置文件或...

    fileupload.zip

    在IT行业中,文件上传是网络应用中的一个常见功能,它允许用户将本地计算机上的文件传输到服务器上。在本案例中,"fileupload.zip"很...解压并研究这个文件将有助于理解如何在实际项目中构建一个完整的文件上传系统。

    文件上传插件

    为了处理大文件上传,插件可能采用分块上传(Chunked Upload)技术,即将大文件分割成小块逐个上传,以防止因网络中断导致的整个文件上传失败。 5. **进度显示**:在上传过程中,插件会提供进度反馈,让用户了解...

    comet4j 简单例子+文档

    将解压后的文件导入Eclipse中,可以作为工程进行开发和调试。Eclipse是一个广泛使用的Java集成开发环境,支持多种Web应用的开发和部署。 8. **使用流程**: 开发者首先需要配置Tomcat服务器,然后在Eclipse中创建...

    nginx-http-flv.zip

    chunked_transfer_encoding on; sendfile on; alias /var/www/live; } } ``` 这里的`/var/www/live`是存储直播流媒体文件的目录。 最后,启动Nginx服务,就可以通过HTTP-FLV协议接收并分发RTMP或HIS等视频流。...

    web--3.文件下载

    对于动态生成或大文件,可能需要使用Chunked Transfer Coding来分块发送数据,这时浏览器无法预知总大小,但可以实时更新进度。 7. 安全考虑: 下载文件时,需要注意防止恶意文件的传播。服务器应验证文件的安全性...

Global site tag (gtag.js) - Google Analytics