Delphi 对GZIP解压


本文整理自网络,侵删。

 呵呵,终于做出来了,有一定收获, 
在算法上还是花了不少时间,
以前解gzip内容,现在是deflate,少了文件头内容,所以
用以前思路老是碰到"data error"问题。
用的是zLib控件:
(http://www.2ccc.com/article.asp?articleid=4269)

下面是可以运行的代码片断:
uses ZLibEx;

procedure TForm1.Button3Click(Sender: TObject);
var
url: string;
IdHTTP: TIdHTTP;
stream, out_stream: TMemoryStream;
begin
url := 'http://bill.finance.sina.com.cn/bill/trade_item.php?stock_code=sh580013&pages=0&time=1218809515';
IdHTTP := TIdHTTP.Create(nil);

stream := TMemoryStream.Create;
out_stream := TMemoryStream.Create;
try
IdHTTP.get(url, stream);
stream.Position:=0;
ZLibEx.ZDecompressStream2(stream, out_stream, -15);
stream.SaveToFile('c:\1.txt');
out_stream.SaveToFile('c:\2.txt'); //这个就是我们要的html内容
finally
stream.Free;
out_stream.Free;
IdHTTP.Free;
end;
end;

相关阅读 >>

Delphi单元文件基本结构

Delphi windows xp下屏蔽ctrl_alt_del键的方法

Delphi实现文件的拖放功能

Delphi 内存读取、修改

Delphi 的tstringbuilder防止服务器内存碎片化

Delphi嵌入循环汇编

Delphi中exit,abort,break,continue,halt,runerro 的区别

Delphi 将对象转换为json字符串或tjsonobject

Delphi 10.4.1的编译器bug终于修正了!

tthread ―― 线程类详解

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...