Andreas Korthaus: gzip-Komprimierung in beide Richtungen?

Beitrag lesen

Hi!

Ich kann mir leider nicht so wirklich vorstellen, wo der Fehler sein könnte; könnte ja auch verschiedene Ursachen haben. Versuch doch einmal alle Zeichen im Intervall 0-32 und eventuell 126-255 zu kodieren; ich könnte mir nämlich vorstellen, dass CURL bei einem gewissen Zeichen abbricht, weil es das Zeichen als Steuercode interpretiert und den String zu früh als beendet interpretiert...

Hm. Auf alle Fälle ist das was da am anderen Ende ankommt kein gültiger gzip String. Ich kann mir das miot den Zeichen als Steuercode nicht vorstellen, denn ich übergebe den Binärcode komplett ab die Standardeingabe von Curl, da sollte Curl eigentlich egal sein was da kommt, das ist binärcode und der wird soweit ich den header verstehe ist das der entscheidene Teil:

¾ß@.j.P.C÷zE..--
curlKRTz6g8xhQF8
Phqz3iLuawNTPl4.
.Content-Disposi
tion: form-data;
 name="clientdat
a"; filename="-"
..Content-Type:
text/plain....xœ
¥QQj.!.ýž[ä.în.ã
Mú+$2‰‚:A„=oÏà×|
4îÒ.”‚¾$ï%&Á .¦b
ÊA...--curlKRTz6
g8xhQF8Phqz3iLua
wNTPl4--..

--curlKRTz6g8xhQF8Phqz3iLuawNTPl4 ist doch dieser boundary-String oder wie das hieß, und der ist dann wieder am Ende, was dazwischen kommt sollte doch recht egal sein, oder? Das Problem muß schon vorher passieren, denn der gz-String den ich in PHP mit gzcompress()(nicht gzinflate!) erzeuge ist ja korrekt, das habe ich breits geprüft. Ich öffne ja die Shell(Dos) mit popen(), und übergebe mit fputs() den gz-String an die Standardeingabe von curl. vermutlich passiert da unterwegs irgendwas unvorhergesehenes, kann ja auch ein bug in der Windowsversion von Curl oder PHP oder auch Windows2000 selbst sein, aber es wäre schon etwas vermessen wenn ich das ganze jetzt auf einen bug schiebe, vermutlich habe ich einen Fehler gemacht, nur wo?

Vielleicht sollte ich --data-binary versuchen?

To post data purely binary, you should instead use  the
          --data-binary option.

--data-binary <data>
          (HTTP)  This  posts data in a similar manner as --data-
          ascii does, although when using this option the  entire
          context  of  the posted data is kept as-is. If you want
          to post a binary file without the  strip-newlines  fea-
          ture of the --data-ascii option, this is for you.

aber das hat so nicht funktioniert(wenn ich einach --form durch --data-binary ersetze). Vor allem wird das ja nicht als multipart/form-data übertragen, oder?

Ich habe mir mal bei Curl stderr ausgeben lassen, im Fall das es scheitert(zu langer String) bekomme ich:

% Total    % Received % Xferd  Average Speed          Time             Curr.
                                 Dload  Upload Total    Current  Left    Speed

100   220    0     0  100   220      0    912  0:00:00  0:00:00  0:00:00   912
100   220    0     0  100   220      0    876  0:00:00  0:00:00  0:00:00     0
100   262    0    42  100   220     74    392  0:00:00  0:00:00  0:00:00     0
100   522    0   302  100   220    391    285  0:00:00  0:00:00  0:00:00   154
100   522    0   302  100   220    391    285  0:00:00  0:00:00  0:00:00   154

Mit dem kürzeren String, wo es funktioniert erhalte ich:

% Total    % Received % Xferd  Average Speed          Time             Curr.
                                 Dload  Upload Total    Current  Left    Speed

100   520    0     0  100   520      0    158  0:00:03  0:00:03  0:00:00   158
100   520    0     0  100   520      0    151  0:00:03  0:00:03  0:00:00     0
100  1294    0   774  100   520    211    142  0:00:03  0:00:03  0:00:00   684
100  1378    0   858  100   520    234    142  0:00:03  0:00:03  0:00:00   911

Ich verstehe inzwischen überhaupt nichts mehr inzwischen läuft noch nicht mal mehr die Variante mit --data. es ist reiner Zufall ob CURL den String nun überträgt oder nicht. Und bei der --data Variante war das ganze noch urlencodet! Also da ist bestimmt nichts mit Sonderzeichen. Wie gesagt, nur ganz bestimmt Strings funkrionieren, die meisten aber nicht. Ich teste jetzt schon wiedr seit Stunden, wobei ich langsam glaube das Curl dochnicht das richtige ist. Vermutlich ist es nur ne KLeinigkeit, aber die werde ich wohl nicht mehr finden...

depressive Grüße,

Andreas

0 43

gzip-Komprimierung in beide Richtungen?

Andreas Korthaus
  • https
  1. 0
    Björn Höhrmann
  2. 0
    Philipp Hasenfratz
    1. 0
      Andreas Korthaus
      1. 0
        Henryk Plötz
        1. 0
          Andreas Korthaus
          1. 0
            Henryk Plötz
            1. 0
              Andreas Korthaus
              1. 0
                Henryk Plötz
                1. 0
                  Andreas Korthaus
                  1. 0

                    Nachtrag

                    Andreas Korthaus
                  2. 0
                    Henryk Plötz
                    1. 0
                      Andreas Korthaus
                      1. 0
                        Andreas Korthaus
                      2. 0
                        Philipp Hasenfratz
                        1. 0
                          Andreas Korthaus
                          1. 0
                            Philipp Hasenfratz
                            1. 0
                              Andreas Korthaus
                              1. 0
                                Henryk Plötz
                                1. 0
                                  Andreas Korthaus
                                  1. 0
                                    Henryk Plötz
                                    1. 0
                                      Andreas Korthaus
                                      1. 0
                                        Henryk Plötz
                                        1. 0
                                          Andreas Korthaus
                                          1. 0
                                            Andreas Korthaus
                                          2. 0
                                            Henryk Plötz
                                            1. 0
                                              Andreas Korthaus
                                              1. 0

                                                Nachtrag

                                                Andreas Korthaus
                                                1. 0

                                                  noch einer...

                                                  Andreas Korthaus
                                                  1. 0
                                                    Henryk Plötz
                                                    1. 0
                                                      Andreas Korthaus
                                                      1. 0
                                                        Henryk Plötz
                                                        1. 0
                                                          Andreas Korthaus
                            2. 0
                              Henryk Plötz
                              1. 0
                                Philipp Hasenfratz
      2. 0
        Björn Höhrmann
        1. 0
          Andreas Korthaus
          1. 0
            Björn Höhrmann
            1. 0
              Andreas Korthaus
  3. 0
    Michael Schröpl
    1. 0
      Andreas Korthaus
      1. 0
        Michael Schröpl
        1. 0
          Andreas Korthaus