kratkar
@kratkar
web-developer

Как проверить действительно ли отдаваемый сервером файл архивирован(defalate, gzip)?

Есть сервер с nginx. С настройкой сжатия:
gzip on;
gzip_buffers 16 8k;
gzip_comp_level 1;
gzip_http_version 1.1;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript image/x-icon application/vn↪ d.ms-fontobject font/opentype application/x-font-ttf;
gzip_vary on;
gzip_disable "msie6";

И тут оказывается, что выдает заголовок, что сжатый документ, а сам документ на самом деле несжатый. Одним nginx отдает сжатый, а другим несжатый документ и с установленными, в обоих случаях, заголовками. Я понимаю, что единственному кому не отдает сжатый документ - это msie6.
Вот и нужно проверить сжатый ли действительно документ или просто заголовок только указан.
Ну вообще, это связано с yml для Яндекса Маркета. И вот, кстати, что они пишут:
Поступил комментарий от тех. специалистов, что это ошибка на стороне магазина. Нашему роботу сервер отдает информацию о том, что файл прайс-листа составлен в архиве, но на самом деле это не так. При этом нашему онлайн чеккеру сервер магазина отвечает корректно (поэтому там прайс-лист проходит проверку).

Такое может быть или бред?
  • Вопрос задан
  • 464 просмотра
Пригласить эксперта
Ответы на вопрос 2
dimonchik2013
@dimonchik2013
non progredi est regredi
проще всего - качнуть cURLом, он по дефолу не расжимает

см. примеры
php.net/manual/en/function.curl-multi-exec.php
pycurl.io/docs/latest/unicode.html#writing-to-files
записать в файл и затем расзиповать

на автомате делается так: применяется zlib/gzip decompress на лету и затем читается в какой-лиюо кодировке, и по ошибке видно, был ли сжат

или смотрите тут www.bertal.ru но хз, там он может расжимать
Ответ написан
Комментировать
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
curl -H "Accept-encoding: gzip" blablabla
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы