登陆

Delphi 对GZIP解压

之前写不出来用了PHP的接口

刚在逛发现一段解压GZIP的代码 我怕下次再遇到这个 那样我就不用发愁了

Delphi代码
  1. 呵呵,终于做出来了,有一定收获,    
  2. 在算法上还是花了不少时间,    
  3. 以前解gzip内容,现在是deflate,少了文件头内容,所以    
  4. 用以前思路老是碰到"data error"问题。    
  5. 用的是zLib控件:    
  6. (http://www.2ccc.com/article.asp?articleid=4269)    
  7.   
  8. 下面是可以运行的代码片断:    
  9. uses ZLibEx;    
  10.   
  11. procedure TForm1.Button3Click(Sender: TObject);    
  12. var    
  13.     url: string;    
  14.     IdHTTP: TIdHTTP;    
  15.     stream, out_stream: TMemoryStream;    
  16. begin    
  17.     url := 'http://bill.finance.sina.com.cn/bill/trade_item.php?stock_code=sh580013&pages=0&time=1218809515';    
  18.     IdHTTP := TIdHTTP.Create(nil);    
  19.   
  20.     stream := TMemoryStream.Create;    
  21.     out_stream := TMemoryStream.Create;    
  22.     try    
  23.         IdHTTP.get(url, stream);    
  24.         stream.Position:=0;    
  25.         ZLibEx.ZDecompressStream2(stream, out_stream, -15);    
  26.         stream.SaveToFile('c:\1.txt');    
  27.         out_stream.SaveToFile('c:\2.txt');  //这个就是我们要的html内容    
  28.     finally    
  29.         stream.Free;    
  30.         out_stream.Free;    
  31.         IdHTTP.Free;    
  32.     end;    
  33. end;    
  34.   
  35.   

« 上一篇 | 下一篇 »

访客评论

JackFans
略懂一点.现在是已Delphi为主哩。o(∩_∩)o...
Post by 小锋 on 2008, August 31, 11:07 AM #1
JackFans
博主 怎么设么都研究 Linux C#, delphi php asp 都会啊
Post by zonghua on 2008, August 30, 8:18 PM #2
JackFans
delphi 一个时代的倒塌
Post by zonghua on 2008, August 30, 8:16 PM #3