2013-09-24 11 views
33

Czy istnieje sposób, aby curl rozpakować odpowiedź bez wysyłania nagłówków Accepting encoding w żądaniu?Czy istnieje sposób, aby curl rozpakować odpowiedź bez wysyłania nagłówków Accept w żądaniu?

Próbuję usunąć błąd, w którym kolejność nagłówków Accept-encoding może być istotna, ale muszę również wiedzieć, jaka jest odpowiedź. Jeśli wyślę tylko -H 'Accept-encoding: gzip, a serwer zgaśnie odpowiedź, curl nie rozpakuje.

+0

Możliwy duplikat [Jak prawidłowo obsługiwać zgiętą na gpipę stronę podczas korzystania z loków?] (Http://stackoverflow.com/questions/8364640/how-to-properly-handle-a-zipped-page-when-using- curl) –

Odpowiedz

60

Prawdopodobnie najłatwiej jest po prostu użyć gunzip to zrobić:

curl -sH 'Accept-encoding: gzip' http://example.com/ | gunzip - 

Albo istnieje również --compressed, który curl będzie dekompresji (wierzę), ponieważ wie, że odpowiedź jest skompresowany. Ale nie jestem pewien, czy to spełnia twoje potrzeby.

+0

Działa jak urok! Jakikolwiek sposób, aby to działało, gdy są również nagłówki wyjściowe, lub czy to zbyt wiele? –

+3

@ Jun-DaiBates-Kobashigawa Możesz użyć -D, aby zrzucić nagłówki do pliku, np. '-D headers.txt' i zapisze je w pliku poza pasmem, więc nie zepsuje twojego kodowania gzip. – FatalError

Powiązane problemy