![]() |
probem : idhttp.get , stream und gzip
Delphi-Quellcode:
so damit hole ich mir die seite die ich haben will, das funktioniert auch. jetzt weiss ich , das der ganze mist per gzip , deflate gepackt ist. habe ich per winrar überprüft. ich habe echt schon stunden gegoogelt, hier im forum gesucht, aber ich bin zu blöd den kram in delphi zu entpacken. ich habe schon etliche zip komponenten(zipmaster, zlib, etc) durch, aber nirgends einen durchbruch.
lStream:=TFileStream.Create(ExtractFilePath(Application.ExeName)+'text.gz', fmCreate or fmOpenReadWrite);
idHTTP1.Get('http://www.foobar.com/index.html', lstream); also wenn mir evtl einer helfen könnte , dann wäre ich sehr dankbar, bin schon sehr stark am verzweifeln. am liebsten hätte ich gerne das ergebnis in einem string oder ähnliches. also wenn jemand einen lösungsvorschlag oder einen link hat , der mir weiter helfen könnte,echt das wäre toll :-) von mir aus auch den umweg über datei auf platte. mfg SeeAALi |
Re: probem : idhttp.get , stream und gzip
Hi!
Am einfachsten wäre es wohl, wenn du die konkreten Probleme, die mit einer der Komponenten auftreten nennen würdest (mit Code etc) und dann könnte man versuchen das zu lösen. Sonst kann ich nur das hier ans Herz legen: ![]() Vllt. hilft dir das weiter - es scheint aber eher für normales zip zu sein (das wäre auch bei den Komponenten die Frage - also ob sie gzip können) Grüße, Frederic |
Re: probem : idhttp.get , stream und gzip
Zitat:
Poste mal die gezipten Daten, womöglich ist da noch ein Encoding drinnen. lg. Astat |
Re: probem : idhttp.get , stream und gzip
sorry, im anfall des frustes , wohl die hälfte vergessen :-D
Code:
das ist das was ich bekomme , wenn ich normal über die seite navigiere....
[GET /lagerfuellen/ HTTP/1.1 Host: [url]www.foobar.com[/url] User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 GTB6 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: [url]http://www.foobar.com/premiumstart/[/url] Cookie: __utma=262524630.83278421.1257146671.1264154885.1264161360.260; __utmz=262524630.1257490593.18.3.utmcsr=slye.de|utmccn=(referral)|utmcmd=referral|utmcct=/; PHPSESSID=0ebb33a71043434fe1bbbd1451cb38f7; __utmc=262524630; __utmb=262524630.6.10.1264161360 ]
--------------------------- www-http 0 ACK --------------------------- www-http 1452 [HTTP/1.1 200 OK Date: Fri, 22 Jan 2010 12:52:59 GMT Server: Apache X-Powered-By: PHP/4.4.9 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 4441 Keep-Alive: timeout=1, max=99 Connection: Keep-Alive Content-Type: text/html ‹ Ý\[sÛF–~Vªò Ú˜Š%MB‚ $H–H¦lËv¼±=^ËIfæEÕ$š$B°ÁÁE”å¸jèVíK~Ã<ÍÞîF Ý@ ¤.žõÆ™ Í>}î_Ÿ¾ƒ gyúþooŸ¡yº ÑÛŸž¼zù Y ÛþÅ}jÛgïÏÐ_xÿú êw{è}Œi ¤ADqhÛÏÞXÈš§éêĶ×ëuwív£xf¿g_±±úŒ8ì¤ e×O}kôõW Îñj Òdh §ÿèÑ#A.: 쳿K’bÄzwÈ?²àrhÅd “dn¡IDSBÓ¡åöz§è§w¯† õÉU· ¢FúTPtÞX …>%W©Í¨NÑdŽã„¤Ã ‰:ÇLJ:} Ùl¬4HC2ú‘’`Eè / ú ½Â3 £éÃ, Ò0$t`‹nÐ? è Å$ ZIú! y I-” ãœß$I,4 e†V·ËÞlÞñb “e-»üs{4à*UÂÑ@ô Nì¿[ Ç‘ÿA<ùÁ% ü¡5Ž®,½%Yá ‰/B2MÙPЬÎ,ƒ JbA·S …ã‹4Z±æAŠÇ Ú:ðÓùÐê÷zßXh Å>‰Á%¬ Bƒ4æÙ“?zHÇÉê Œä+ ...to be continued -------------------------- www-http 0 ACK
Code:
und das ist das was ich bekomme, wenn ich über mein tool navigiere.
[GET /lagerfuellen/index.html HTTP/1.1 Connection: keep-alive Content-Type: application/x-www-form-urlencoded Host: [url]www.foobar.com[/url] Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Accept-Encoding: gzip,deflate Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3 Referer: [url]http://www.foobar.com/lagerfuellen/[/url] User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 GTB6 Cookie: PHPSESSID=653fd05d5228eb7f29ce39aaca8abdd8 ]
-------------------------------------- www-http 0 ACK -------------------------------------- www-http 1452 [HTTP/1.1 200 OK Date: Fri, 22 Jan 2010 12:56:56 GMT Server: Apache X-Powered-By: PHP/4.4.9 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 4443 Keep-Alive: timeout=1, max=100 Connection: Keep-Alive Content-Type: text/html ‹ Ý\[sÛF–~Vªò Ú˜Š%MB‚ $H–H¦lËv¼±=^ËIfæEÕ$š$B°ÁÁE”å¸jèVíK~Ã<ÍÞîF Ý@ ¤.žõÆ™ Í>}î_Ÿ¾ƒ gyúþooŸ¡yº ÑÛŸž¼zù Y ÛþÅ}jÛgïÏÐ_xÿú êw{è}Œi ¤ADqhÛÏÞXÈš§éêĶ×ëuwív£xf¿g_±±úŒ8ì¤ e×O}kôõW Îñj Òdh §ÿèÑ#A.: 쳿K’bÄzwÈ?²àrhÅd “dn¡IDSBÓ¡åöz§è§w¯† õÉU· ¢FúTPtÞX …>%W©Í¨NÑdŽã„¤Ã ‰:ÇLJ:} Ùl¬4HC2ú‘’`Eè / ú ½Â3 £éÃ, Ò0$t`‹nÐ? è Å$ ZIú! y I-” ãœß$I,4 e†V·ËÞlÞñb “e-»üs{4à*UÂÑ@ô Nì¿[ Ç‘ÿA<ùÁ% ü¡5Ž®,½%Yá ‰/B2MÙPЬÎ,ƒ JbA·S ... to be continued www-http 0 ACK so wie oben die beiden zeilen. habs auch mit einem TMemorystream versucht. sourcecode für das decrompressing bekomme ich im moment nicht mehr zusammen, habe zuviele sachen probiert :-D ich habs überprüft mit winrar, es ist genau das was ich will, es ist nur ganz doof "verschlüsselt" :-D und noch mal schnell hinzugefügt : so hab ich es mal versucht. ich lass mir nur die grösse anzeigen, damit ich sehen kann, ob überhaupt etwas in dem stream drin ist. ichhabe ZlibEX benutzt, weil Zlib nicht läuft,weil mir irgendwelche *.obj datein fehlen.
Delphi-Quellcode:
var
DeCompressionStream: TZDecompressionStream; bstream : TMemorystream begin bstream := TMemorystream.Create; try idHTTP1.Get('http://www.foobar.com/index.html', bstream); memo1.Lines.Add(floattostr(bstream.size)); //grösse 4025 finally DecompressionStream := TZDecompressionStream.Create(bstream); memo1.Lines.Add(floattostr(decompressionstream.size)); //grösse 0 end; DecompressionStream.Free; bstream.free; |
Re: probem : idhttp.get , stream und gzip
Hallo SeeAALi, versuch mal folgendes.
Delphi-Quellcode:
Wenn dass nicht hilft, lade die von dir erzeugte "text.gz" Datei hoch.bstream.seek(0, 0); DecompressionStream := TZDecompressionStream.Create(bstream); Astat |
Re: probem : idhttp.get , stream und gzip
Liste der Anhänge anzeigen (Anzahl: 1)
so da ist einmal meine .gz datei.
|
Re: probem : idhttp.get , stream und gzip
Zitat:
Delphi-Quellcode:
var ms, msOut: TMemoryStream; begin ms := TMemoryStream.Create; ms.LoadFromFile('C:\Lazarus\test\text.gz'); ms.Seek(0, 0); msOut := TMemoryStream.Create; IdCompressorZLib1.DecompressGZipStream(ms, msOut); msOut.SaveToFile('C:\Lazarus\test\text.txt'); end. lg. Astat |
Re: probem : idhttp.get , stream und gzip
Delphi-Quellcode:
sind das bezeichner aus ZLib ?! Ich habe nämlich nur ZLibEX (Delphi Fast ZLib) zum laufen bekommen, weil mir für die ZLib 2 Dateien fehlen. Das sind unteranderem die "compress.obj" und die "crc32.obj" .
IdCompressorZLib1.DecompressGZipStream(ms, msOut);
Die sind ja eigentlich in dem Paket mit beim, als C Source (soweit ich das erkennen kann). Die Datei make_vms.com verursacht nämlich einen CPU Fehleroder ähnliches, so das sie nicht ausgeführt wird. ( Die NTVDM-CPU hat einen ungültigen Befehl entdeckt). Kannst du mir evtl die beiden Dateien hier mal mit beifügen ?! mfg AAL P.S. Wenn ich das dann richtig verstehe, muss ich ja dann gar nicht mehr den Umweg über die Platte gehen, oder doch ?! Wenn ich sage das ms der Stream ist den ich von idHTTP1.Get bekomme, oder nicht?! Das Gleich dann im Prinzip doch dann mit der Ausgabe |
Re: probem : idhttp.get , stream und gzip
Zitat:
Astat |
Re: probem : idhttp.get , stream und gzip
ok ich sehe ich muss dann wohl mal mein INDY updaten :-D
bei dem was ich dabei habe , gibt es die Komponente nicht :-) ich danke dir aber schon mal sehr für deine hilfe, wenn ich die Kompo habe, wird es sicherlich gehen :-) mfg AAL |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz