/ / Błąd w dekompresji? - c #, html, strona internetowa, gzip

Błąd w dekompresji? - c #, html, strona internetowa, gzip

Piszę robota do strony internetowej. Jego odpowiedź jest zakodowana za pomocą gzip.

Nie jestem w stanie poprawnie przeanalizować określonego pola, mimo że dekompresja zakończyła się pomyślnie. Używam również htmlagilitypack do przeanalizowania go,

przeanalizowana wartość pola jest tylko częściąoryginalna wartość jako przykład : Dostaję tylko / wEWAwKc04vTCQKb86mzBwKln / PuCg == mając na uwadze, że firebug pokazuje rzeczywistą wartość znacznie dłużej: / wEWBgKj7IuJCgKb86mzBwKln / PuCgLT250qAtC0 + 8cMAvimiNYD

co oznacza "==" na końcu? Zakładam, że jest to błąd w imieniu dekompresorów?

Odpowiedzi:

0 dla odpowiedzi № 1

Charakter = jest dodawany przez Kodowanie Base64.

Kodowanie następującego zdania

Człowiek wyróżnia się nie tylko swoim rozumem, aleprzez tę szczególną pasję innych zwierząt, która jest żądzą umysłu, że przez wytrwałość rozkoszy w ciągłym i niestrudzonym pokoleniu wiedzy, przekracza krótką gwałtowność jakiejkolwiek cielesnej przyjemności.

dostaniesz

TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGlu dWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRo ZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4 =

The = postać może być obecna tylko na końcuCiąg Base64. Jeśli ją zdobędziesz, oznacza to, że prawdopodobnie otrzymujesz wszystkie postacie; vice versa nie jest prawdą, ponieważ ta postać jest używana jako dopełnienie i nie zawsze jest obowiązkowa we wszystkich implementacjach Base64.


0 dla odpowiedzi nr 2

Nie masz problemu z dekompresją - strona została oczywiście poprawnie zdekompresowana, w przeciwnym razie twoje oprogramowanie prawdopodobnie spowodowałoby błąd lub zobaczyłbyś tylko kilka dziwnych postaci.

Jednak otrzymujesz ciąg znaków ASCII, który jest "oczywiście w kodowaniu Base64. Równe znaki na końcu pojawiają się, jeśli oryginalne dane binarne nie są wielokrotnością 3 bajtów. Więc to jest doskonałe dane Base64.

Co do tego, dlaczego twój robot pobiera inne dane niżFirefox z Firebug: Nie wiem, ale potrafię obrazować wiele powodów. Są to dwie oddzielne sesje przeglądania, a strona internetowa może przypisać im różne identyfikatory sesji lub w jakiś sposób zarejestrować historię sesji.

W każdym razie, pod koniec dnia nie rozumiem twojego problemu. Czego dokładnie nie możesz przeanalizować? Czy dostałeś jakiś błąd? pole? Czy mówisz o polu formularza HTML?