AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

probem : idhttp.get , stream und gzip

Ein Thema von SeeAALi · begonnen am 24. Jan 2010 · letzter Beitrag vom 24. Jan 2010
Antwort Antwort
SeeAALi

Registriert seit: 21. Jan 2010
21 Beiträge
 
#1

probem : idhttp.get , stream und gzip

  Alt 24. Jan 2010, 00:16
Delphi-Quellcode:
lStream:=TFileStream.Create(ExtractFilePath(Application.ExeName)+'text.gz', fmCreate or fmOpenReadWrite);
idHTTP1.Get('http://www.foobar.com/index.html', lstream);
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.

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
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: probem : idhttp.get , stream und gzip

  Alt 24. Jan 2010, 00:46
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:
http://www.delphi-treff.de/no_cache/...nten/delphizip

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
Frederic Kerber
  Mit Zitat antworten Zitat
Astat

Registriert seit: 2. Dez 2009
Ort: München
320 Beiträge
 
Lazarus
 
#3

Re: probem : idhttp.get , stream und gzip

  Alt 24. Jan 2010, 00:51
Zitat von SeeAALi:
..der ganze mist per gzip , deflate gepackt ist. ... habe schon etliche zip komponenten(zipmaster, zlib, etc) durch, aber nirgends einen durchbruch.
Hallo SeeAALi, sollte mit zlib ohne Probleme funktionieren, ist derselbe Algorithmus.

Poste mal die gezipten Daten, womöglich ist da noch ein Encoding drinnen.

lg. Astat
Lanthan Astat
06810110811210410503210511511603209711003210010110 9032084097103
03211611111604403209711003210010110903210010510103 2108101116122
11610103209010110510810103206711110010103210511003 2068101108112
10410503210310111509910411410510109810111003211910 5114100046
  Mit Zitat antworten Zitat
SeeAALi

Registriert seit: 21. Jan 2010
21 Beiträge
 
#4

Re: probem : idhttp.get , stream und gzip

  Alt 24. Jan 2010, 03:38
sorry, im anfall des frustes , wohl die hälfte vergessen

Code:
[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
das ist das was ich bekomme , wenn ich normal über die seite navigiere....


Code:
[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
und das ist das was ich bekomme, wenn ich über mein tool navigiere.
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
ich habs überprüft mit winrar, es ist genau das was ich will, es ist nur ganz doof "verschlüsselt"


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;
  Mit Zitat antworten Zitat
Astat

Registriert seit: 2. Dez 2009
Ort: München
320 Beiträge
 
Lazarus
 
#5

Re: probem : idhttp.get , stream und gzip

  Alt 24. Jan 2010, 04:52
Hallo SeeAALi, versuch mal folgendes.

Delphi-Quellcode:
 
bstream.seek(0, 0);
DecompressionStream := TZDecompressionStream.Create(bstream);
Wenn dass nicht hilft, lade die von dir erzeugte "text.gz" Datei hoch.

Astat
Lanthan Astat
  Mit Zitat antworten Zitat
SeeAALi

Registriert seit: 21. Jan 2010
21 Beiträge
 
#6

Re: probem : idhttp.get , stream und gzip

  Alt 24. Jan 2010, 09:50
so da ist einmal meine .gz datei.
Angehängte Dateien
Dateityp: gz text_571.gz (4,3 KB, 8x aufgerufen)
  Mit Zitat antworten Zitat
Astat

Registriert seit: 2. Dez 2009
Ort: München
320 Beiträge
 
Lazarus
 
#7

Re: probem : idhttp.get , stream und gzip

  Alt 24. Jan 2010, 14:03
Zitat von SeeAALi:
so da ist einmal meine .gz datei.
Jupp, funkt tadellos.

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
Lanthan Astat
06810110811210410503210511511603209711003210010110 9032084097103
03211611111604403209711003210010110903210010510103 2108101116122
11610103209010110510810103206711110010103210511003 2068101108112
10410503210310111509910411410510109810111003211910 5114100046
  Mit Zitat antworten Zitat
SeeAALi

Registriert seit: 21. Jan 2010
21 Beiträge
 
#8

Re: probem : idhttp.get , stream und gzip

  Alt 24. Jan 2010, 15:14
IdCompressorZLib1.DecompressGZipStream(ms, msOut); 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" .

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
  Mit Zitat antworten Zitat
Astat

Registriert seit: 2. Dez 2009
Ort: München
320 Beiträge
 
Lazarus
 
#9

Re: probem : idhttp.get , stream und gzip

  Alt 24. Jan 2010, 15:22
Zitat von SeeAALi:
IdCompressorZLib1.DecompressGZipStream(ms, msOut); sind das bezeichner aus ZLib ?!
Nein, ist aus den Indy Komponenten die TIdCompressorZLib.

Astat
Lanthan Astat
  Mit Zitat antworten Zitat
SeeAALi

Registriert seit: 21. Jan 2010
21 Beiträge
 
#10

Re: probem : idhttp.get , stream und gzip

  Alt 24. Jan 2010, 15:27
ok ich sehe ich muss dann wohl mal mein INDY updaten

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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz