LINUX.ORG.RU
ФорумAdmin

Скачать и разжать сжатый файл

 


0

2

Как можно чем-то в роде wget или curl из консоли скачать файл, и если он сжат (не архив имеется в веду, а если в HTTP-заголовке указанно что-то типа Content-Encoding: gzip), то разжать и вывести уже в виде plain-текста?

не понял проблемы. Content-Encoding — это плюшки HTTP, оно ведь и так автоматом curl/wget разлуливается.

tl;dr case-fall в студию

beastie ★★★★★ ()
Ответ на: комментарий от sphericalhorse

вет живи, век учись. думал оно его автоматом разрулит, ан нет...

workaround:

wget  --header="Accept-Encoding: gzip" http://www.artlebedev.ru/studio/dj/ -O - | gunzip

beastie ★★★★★ ()
Ответ на: комментарий от beastie

по-ходу, лебедева в ж***у — его сервер полностью игнорирует Accept-Encoding

beastie ★★★★★ ()
Ответ на: комментарий от sphericalhorse

Как-то так...

#!/bin/sh

URL="http://www.artlebedev.ru/studio/dj/"

enc=$( curl --head "${URL}" | sed -n "s,^content-encoding: *\([^ ]*\)$,\L\1,pi" )
case "${enc}" in
    "") cmd="cat";;
    *gzip*) cmd="gunzip";;
    *) echo "Encoding not supported"; exit 123;;
esac

curl "${URL}" | $cmd
Deleted ()
Ответ на: комментарий от beastie

Ладно. Пусть будет так. Спасибо.

Хотелось бы, чтобы оно оно работало и с серверами на которых нет gzip, да и что-бы работало с ftp и локальными файлами. Что-то типа wget --uncompress .... Но конкретно сейчас уже ничего не хочется, после долгой любви с этим всем.

sphericalhorse ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.