Fiddler: можно ли сжать/сжать тело запроса?

Отличный инструмент, делает все, что мне нужно. Нравится его вкладка «Преобразование», которая позволяет сжимать ответ. Но как насчет запроса? Вроде простая вещь, но я не вижу такой функциональности. Я что-то упускаю?

Веб-отладчик Fiddler, версия 2.3.4.4.


person Schultz9999    schedule 29.06.2011    source источник


Ответы (1)


Вы можете написать небольшой скрипт для сжатия тела запроса. Нажмите «Правила» > «Настроить правила» и добавьте что-то вроде этого:

static function OnBeforeRequest(oSession: Session){
  if (oSession.requestBodyBytes != null && oSession.requestBodyBytes.Length>0){
    oSession.requestBodyBytes = Utilities.GzipCompress(oSession.requestBodyBytes);
    oSession["Content-Length"] = oSession.requestBodyBytes.Length.ToString();
    oSession["Content-Encoding"] = "gzip";
  }

Однако я не знаю ни одного сервера, который действительно поддерживает сжатые запросы. У сервера нет хорошего способа сигнализировать о том, что он поддерживает сжатые запросы, и атаки Zip Bomb реальная угроза для серверов.

person EricLaw    schedule 30.06.2011
comment
Супер. Спасибо! Я попробую это. Ссылка на Zip Bomb актуальна. Однако это не общедоступный API, и нам нужно передавать мегабайты XML-данных, поэтому архивация — это быстрый и простой способ уменьшить размер полезной нагрузки. - person Schultz9999; 01.07.2011
comment
FWIW, если вы делаете это в частной среде, вы можете попробовать использовать сжатие LZMA вместо GZIP. LZMA может быть более эффективным с точки зрения размера перевода. - person EricLaw; 02.07.2011
comment
Одним из примеров места, которое принимает (требует) gzip, является IRS для электронной отправки A2A. - person Bon; 05.02.2016